Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Application.h"
- #include "GameScene.h"
- #include "Scoreloop.h"
- Scoreloop::UserController* gUserController = NULL;
- Scoreloop::AchievementsController* gAchievementsController = NULL;
- bool gScoreloopInitialized = false;
- Scoreloop::SessionState::Enum gSessionState = Scoreloop::SessionState::Initial; // there is own enumeration, not from upSL
- Application::Application()
- {
- }
- Application::~Application()
- {
- if (gAchievementsController)
- Scoreloop::AchievementsController::Release(gAchievementsController);
- if (gUserController)
- Scoreloop::UserController::Release(gUserController);
- Scoreloop::Client::Shutdown();
- }
- void LoadUserRequestComplete(int error_code)
- {
- if (error_code == Scoreloop::ErrorCode::Ok)
- {
- gSessionState = Scoreloop::SessionState::Authenticated;
- Scoreloop::User* user = Scoreloop::Session::GetUser();
- const char* login = Scoreloop::User::GetLogin(user);
- }
- else
- gSessionState = Scoreloop::SessionState::Failed;
- }
- void LoadAchievementsComplete(int error_code)
- {
- if (error_code == ErrorCode::Ok)
- {
- AchievementList* achievements = AchievementsController::GetAchievements(gAchievementsController);
- unsigned int achievements_count = AchievementList::GetAchievementsCount(achievements);
- for (size_t i = 0; i < achievements_count; i++)
- {
- Achievement* achievement = AchievementList::GetAchievement(achievements, i);
- if (Achievement::IsAchieved(achievement))
- {
- Award* award = Achievement::GetAward(achievement);
- const char* award_identifier = Award::GetIdentifier(award);
- // do something
- }
- }
- }
- }
- void InitializeScoreloopControllers()
- {
- gSessionState = Scoreloop::SessionState::Authenticating;
- if (gUserController == NULL)
- {
- gSessionState = Scoreloop::SessionState::Authenticating;
- gUserController = Scoreloop::UserController::Create(LoadUserRequestComplete);
- Scoreloop::UserController::LoadUser(gUserController);
- }
- if (gAchievementsController == NULL)
- {
- gAchievementsController = Scoreloop::AchievementsController::Create(LoadAchievementsComplete);
- gAchievementsSynchronizationInProgress = true;
- Scoreloop::AchievementsController::SynchronizeAchievements(gAchievementsController);
- }
- }
- void TOSAccepted()
- {
- gScoreloopInitialized = true;
- InitializeScoreloopControllers();
- }
- bool Application::applicationDidFinishLaunching()
- {
- // ... usual steps
- Scoreloop::Client::Initialize(TOSAccepted);
- pDirector->runWithScene(GameScene::node());
- return true;
- }
- // .. other methods not contained any upSL related code
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement