public override EatResponse OnEvent(EventId id, object cookie)
 {
     if (id != EventId.GameServicesSignedIn)
     {
         if (id != EventId.GameServicesSignedOut)
         {
             if (id == EventId.FacebookLoggedOut)
             {
                 this.SetFacebookButtonLabel(false);
             }
         }
         else if ((AccountProvider)cookie == AccountProvider.GOOGLEPLAY)
         {
             this.SetGoogleButtonLabel(false);
         }
     }
     else if ((AccountProvider)cookie == AccountProvider.GOOGLEPLAY)
     {
         this.SetGoogleButtonLabel(true);
         if (this.achievementsClicked)
         {
             this.achievementsClicked = false;
             GameServicesManager.ShowAchievements();
         }
     }
     return(base.OnEvent(id, cookie));
 }
        private void RegisterGameServicesAccount()
        {
            string userId = GameServicesManager.GetUserId();

            if (string.IsNullOrEmpty(userId))
            {
                return;
            }
            if (this.externalAccountInfo == null)
            {
                this.gameServicesRegisterPending = true;
                return;
            }
            string text = null;

            if (text == userId)
            {
                return;
            }
            string authToken = GameServicesManager.GetAuthToken();

            if (string.IsNullOrEmpty(authToken))
            {
                return;
            }
            this.RegisterExternalAccount(new RegisterExternalAccountRequest
            {
                OverrideExistingAccountRegistration = false,
                ExternalAccountId            = userId,
                ExternalAccountSecurityToken = authToken,
                PlayerId            = Service.Get <CurrentPlayer>().PlayerId,
                OtherLinkedProvider = AccountProvider.FACEBOOK
            });
        }
 private void OnGoogleButtonClicked(UXButton button)
 {
     if (GameServicesManager.IsUserAuthenticated())
     {
         GameServicesManager.SignOut();
         Service.Get <IAccountSyncController>().UnregisterGameServicesAccount();
         return;
     }
     GameServicesManager.SignIn();
 }
 private void OnAchievementButtonClicked(UXButton button)
 {
     if (GameServicesManager.IsUserAuthenticated())
     {
         GameServicesManager.ShowAchievements();
         return;
     }
     this.achievementsClicked = true;
     GameServicesManager.SignIn();
 }
Beispiel #5
0
 public EatResponse OnEvent(EventId id, object cookie)
 {
     if (id == EventId.WorldInTransitionComplete)
     {
         this.ProcessQueue(true);
         GameServicesManager.AttemptAutomaticSignInPrompt();
         Service.EventManager.UnregisterObserver(this, EventId.WorldInTransitionComplete);
     }
     else if (id == EventId.PurgeHomeStateRUFTask)
     {
         this.PurgeQueueByPriority(50);
     }
     return(EatResponse.NotEaten);
 }
Beispiel #6
0
        private void OnVideoDetailsGP(string guid)
        {
            this.videoGuid = guid;
            if (GameServicesManager.IsUserAuthenticated())
            {
                this.OnGPLoggedIn();
                return;
            }
            EventManager eventManager = Service.Get <EventManager>();

            eventManager.RegisterObserver(this, EventId.GameServicesSignedIn);
            eventManager.RegisterObserver(this, EventId.GameServicesSignedOut);
            GameServicesManager.SignIn();
        }
        public static void StaticReset()
        {
            Camera[] allCameras = Camera.allCameras;
            int      i          = 0;
            int      num        = allCameras.Length;

            while (i < num)
            {
                allCameras[i].enabled = false;
                i++;
            }
            UnityUtils.StaticReset();
            GameServicesManager.StaticReset();
            MultipleEmittersPool.StaticReset();
            if (Service.IsSet <AudioManager>())
            {
                Service.Get <AudioManager>().CleanUp();
            }
            if (Service.IsSet <WWWManager>())
            {
                Service.Get <WWWManager>().CancelAll();
            }
            if (Service.IsSet <AssetManager>())
            {
                Service.Get <AssetManager>().ReleaseAll();
            }
            if (Service.IsSet <EntityController>())
            {
                Service.Get <EntityController>().StaticReset();
            }
            if (Service.IsSet <IDataController>())
            {
                Service.Get <IDataController>().Exterminate();
            }
            if (Service.IsSet <ISocialDataController>())
            {
                Service.Get <ISocialDataController>().StaticReset();
            }
            JsonParser.StaticReset();
            CollisionFilters.StaticReset();
            ProcessingScreen.StaticReset();
            YesNoScreen.StaticReset();
            DynamicRadiusView.StaticReset();
            if (Service.IsSet <Lang>())
            {
                Service.Get <Lang>().CustomKoreanFont = null;
            }
        }
Beispiel #8
0
        private void OnGPLoggedIn()
        {
            VideoData videoData = null;

            Service.Get <VideoDataManager>().VideoDatas.TryGetValue(this.videoGuid, out videoData);
            if (videoData == null)
            {
                Service.Get <StaRTSLogger>().ErrorFormat("OnGPLoggedIn: could not find {0}", new object[]
                {
                    this.videoGuid
                });
                return;
            }
            GameServicesManager.Share(Service.Get <Lang>().Get("hn_ui_share_video_from_swc", new object[0]), this.GetYoutubeLink(videoData.YoutubeId), videoData.GetThumbnailURL(ThumbnailSize.MEDIUM));
            this.Cleanup();
        }
Beispiel #9
0
        private void InitLabels()
        {
            this.mainGroup         = base.GetElement <UXElement>("DefaultContainer");
            this.mainGroup.Visible = true;
            UXLabel element = base.GetElement <UXLabel>("LabelSettingsTitle");

            element.Text = this.lang.Get("SETTINGS_TITLE", new object[0]);
            element      = base.GetElement <UXLabel>("LabelBtnMusic");
            element.Text = this.lang.Get("SETTINGS_MUSIC", new object[0]);
            element      = base.GetElement <UXLabel>("LabelBtnSoundEffects");
            element.Text = this.lang.Get("SETTINGS_SFX", new object[0]);
            element      = base.GetElement <UXLabel>("LabelBtnLanguage");
            element.Text = this.lang.GetDisplayLanguage(this.lang.Locale);
            this.SetFacebookButtonLabel(Service.ISocialDataController.IsLoggedIn);
            this.SetGoogleButtonLabel(GameServicesManager.IsUserAuthenticated());
            element      = base.GetElement <UXLabel>("LabelBtnAbout");
            element.Text = this.lang.Get("SETTINGS_ABOUT", new object[0]);
            element      = base.GetElement <UXLabel>("LabelBtnHelp");
            element.Text = this.lang.Get("SETTINGS_HELP", new object[0]);
            element      = base.GetElement <UXLabel>("LabelBtnPrivacyPolicy");
            element.Text = this.lang.Get("SETTINGS_PRIVACY", new object[0]);
            element      = base.GetElement <UXLabel>("LabelBtnTOS");
            element.Text = this.lang.Get("SETTINGS_TOS", new object[0]);
            if (GameConstants.FORUMS_ENABLED)
            {
                element      = base.GetElement <UXLabel>("LabelBtnForums");
                element.Text = this.lang.Get("SETTINGS_FORUMS", new object[0]);
            }
            element      = base.GetElement <UXLabel>("LabelFBIncentiveGoogle");
            element.Text = this.lang.Get("CONNECT_FB_SETTINGS_DESC", new object[0]);
            element      = base.GetElement <UXLabel>("LabelBtnFactionSwap");
            FactionType faction = Service.CurrentPlayer.Faction;

            if (faction != FactionType.Empire)
            {
                if (faction == FactionType.Rebel)
                {
                    element.Text = this.lang.Get("FACTION_FLIP_PLAY_EMPIRE", new object[0]);
                }
            }
            else
            {
                element.Text = this.lang.Get("FACTION_FLIP_PLAY_REBEL", new object[0]);
            }
        }
Beispiel #10
0
 private void OnStartupTaskComplete()
 {
     Service.Get <SquadController>().ServerManager.EnablePolling();
     GameServicesManager.Startup();
     if (!Service.Get <CurrentPlayer>().HasNotCompletedFirstFueStep())
     {
         GameServicesManager.OnReady();
     }
     if (!Service.Get <CurrentPlayer>().CampaignProgress.FueInProgress)
     {
         Service.Get <ISocialDataController>().CheckFacebookLoginOnStartup();
     }
     Service.Get <WorldInitializer>().View.StartMapManipulation();
     Service.Get <UserInputManager>().Enable(true);
     Service.Get <UXController>().HUD.ReadyToToggleVisiblity = true;
     Service.Get <RUFManager>().PrepareReturningUserFlow();
     Service.Get <EventManager>().SendEvent(EventId.StartupTasksCompleted, null);
 }
 private void Done()
 {
     Service.Get <EventManager>().UnregisterObserver(this, EventId.IntroComplete);
     if (this.animation != null)
     {
         this.animation = null;
         Service.Get <UXController>().Intro = null;
         Service.Get <UXController>().HUD.ConfigureControls(new HudConfig(new string[0]));
         Service.Get <UXController>().HUD.Visible = true;
         if (Service.Get <CurrentPlayer>().HasNotCompletedFirstFueStep() && GameConstants.START_FUE_IN_BATTLE_MODE)
         {
             Service.Get <GameStateMachine>().SetState(new FueBattleStartState(GameConstants.FUE_BATTLE));
             Service.Get <BattleController>().PrepareWorldForBattle();
             return;
         }
         GameServicesManager.OnReady();
         HomeState.GoToHomeState(null, true);
     }
 }
        private void OnAccountRegisterFailure(uint status, object cookie)
        {
            RegisterExternalAccountCommand registerExternalAccountCommand = (RegisterExternalAccountCommand)cookie;
            Lang   lang    = Service.Get <Lang>();
            string title   = lang.Get("ACCOUNT_SYNC_ERROR", new object[0]);
            string message = null;

            if (status == 1318u)
            {
                switch (registerExternalAccountCommand.RequestArgs.Provider)
                {
                case AccountProvider.FACEBOOK:
                    message = lang.Get("ACCOUNT_SYNC_AUTH_ERROR_FACEBOOK", new object[0]);
                    break;

                case AccountProvider.GAMECENTER:
                    message = lang.Get("ACCOUNT_SYNC_AUTH_ERROR_GAMECENTER", new object[0]);
                    break;

                case AccountProvider.GOOGLEPLAY:
                    message = lang.Get("ACCOUNT_SYNC_AUTH_ERROR_GOOGLEPLAY", new object[0]);
                    break;
                }
                ProcessingScreen.Hide();
                AlertScreen.ShowModal(false, title, message, null, null);
                return;
            }
            if (status == 2200u)
            {
                ProcessingScreen.Hide();
                AccountSyncScreen screen = AccountSyncScreen.CreateSyncConflictScreen(registerExternalAccountCommand);
                Service.Get <ScreenController>().AddScreen(screen);
                return;
            }
            if (status != 2201u)
            {
                return;
            }
            switch (registerExternalAccountCommand.RequestArgs.Provider)
            {
            case AccountProvider.FACEBOOK:
                if (this.externalAccountInfo.FacebookAccountId != null && this.externalAccountInfo.FacebookAccountId != FacebookManager.Instance.getUserId())
                {
                    message = lang.Get("ACCOUNT_SYNC_ERROR_FACEBOOK", new object[0]);
                }
                else if (this.externalAccountInfo.FacebookAccountId != null)
                {
                    message = lang.Get("ACCOUNT_SYNC_ERROR_FACEBOOK", new object[0]);
                }
                break;

            case AccountProvider.GAMECENTER:
                if (this.externalAccountInfo.GameCenterAccountId != null && this.externalAccountInfo.GameCenterAccountId != GameServicesManager.GetUserId())
                {
                    message = lang.Get("ACCOUNT_SYNC_ERROR_GAMECENTER", new object[0]);
                }
                else if (this.externalAccountInfo.FacebookAccountId != null)
                {
                    message = lang.Get("ACCOUNT_SYNC_ERROR_GAMECENTER_FACEBOOK", new object[0]);
                }
                break;

            case AccountProvider.GOOGLEPLAY:
                if (this.externalAccountInfo.GooglePlayAccountId != null && this.externalAccountInfo.GooglePlayAccountId != GameServicesManager.GetUserId())
                {
                    message = lang.Get("ACCOUNT_SYNC_ERROR_GOOGLEPLAY", new object[0]);
                }
                else if (this.externalAccountInfo.FacebookAccountId != null)
                {
                    message = lang.Get("ACCOUNT_SYNC_ERROR_GOOGLEPLAY_FACEBOOK", new object[0]);
                }
                break;
            }
            ProcessingScreen.Hide();
            AlertScreen.ShowModal(false, title, message, null, null);
        }
Beispiel #13
0
 private void UnlockAchievement(string achievementID)
 {
     GameServicesManager.UnlockAchievement(achievementID);
 }