private void DoRequest(TaskCompletionSource <ISpinCredentials> task)
        {
            string login    = PlayerPreferences.useGuest ? PlayerPreferences.guestLogin : PlayerPreferences.lastLogin;
            string password = PlayerPreferences.useGuest ? PlayerPreferences.guestPassword : PlayerPreferences.lastPassword;

            HaapiManager.ExecuteRequest(() => HaapiManager.accountApi.CreateTokenWithPassword(login, password, (long?)ApplicationConfig.GameAppId), delegate(RAccountApi <Token> res)
            {
                Log.Info("CreateTokenWithPassword success ! Login="******"C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\TEMPFastEnterMatch\\Auth\\ConnectionMethod\\ICredentialProvider.cs");
                task.SetResult(new AnkamaTokenCredentials(res.Data.get__Token()));
            }, delegate(Exception exception)
            {
                ApiException val = exception as ApiException;
                if (val != null && val.get_ErrorCode() == 601)
                {
                    Log.Error($"CreateTokenWithPassword error: {exception}", 284, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\TEMPFastEnterMatch\\Auth\\ConnectionMethod\\ICredentialProvider.cs");
                    ErrorAccountLogin val2 = JsonConvert.DeserializeObject <ErrorAccountLogin>((string)val.get_ErrorContent());
                    SpinConnectionError spinConnectionError = (val2 == null) ? null : HaapiHelper.From(val2);
                    task.SetException(spinConnectionError ?? exception);
                }
                else
                {
                    Log.Error($"CreateTokenWithPassword error: {exception}", 291, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\TEMPFastEnterMatch\\Auth\\ConnectionMethod\\ICredentialProvider.cs");
                    task.SetException(exception);
                }
            });
        }
示例#2
0
 private void ReinitConnections()
 {
     CredentialProvider.DeteteCredentialProviders();
     ConnectionHandler.instance.OnConnectionStatusChanged -= OnConnectionStatusChanged;
     ConnectionHandler.Destroy();
     if (ApplicationConfig.haapiAllowed)
     {
         HaapiManager.Initialize();
     }
     ConnectionHandler.Initialize();
     ConnectionHandler.instance.OnConnectionStatusChanged += OnConnectionStatusChanged;
 }
 private void OnCreateGuest()
 {
     m_ui.interactable = false;
     HaapiManager.ExecuteRequest(() => HaapiManager.accountApi.CreateGuest((long?)ApplicationConfig.GameAppId, RuntimeData.currentCultureCode.GetLanguage(), string.Empty, string.Empty), OnCreateGuestSuccess, OnCreateGuestError);
 }
示例#4
0
        private IEnumerator Initialize()
        {
            yield return(LauncherConnection.InitializeConnection());

            if (!ApplicationStarter.InitializeAssetManager())
            {
                Log.Error("InitializeAssetManager: misssing AssetReferenceMap", 100, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Main.cs");
                Quit();
            }
            if (!ApplicationStarter.InitializeRuntimeData())
            {
                Log.Error("InitializeAssetManager: missing LocalizedTextData or BootTextCollection", 107, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Main.cs");
                Quit();
            }
            SplashState splashState = new SplashState();

            StateManager.GetDefaultLayer().SetChildState(splashState, 0);
            yield return(ApplicationStarter.ReadBootConfig());

            if (!BootConfig.initialized)
            {
                yield return(GoToCatastrophicFailureState(InitializationFailure.BootConfigInitialisation));

                yield break;
            }
            if (ApplicationConfig.showServerSelection)
            {
                ApplicationConfig.versionCheckResult = VersionChecker.Result.Success;
            }
            else
            {
                string text = ApplicationConfig.configUrl;
                if (string.IsNullOrEmpty(text))
                {
                    text = BootConfig.remoteConfigUrl;
                }
                Log.Info("configUrl=" + text, 136, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Main.cs");
                yield return(ApplicationStarter.ReadRemoteConfig(text));

                if (!ApplicationConfig.initialized)
                {
                    yield return(GoToInitializationFailedState(InitializationFailure.ApplicationConfigInitialisation));

                    yield break;
                }
            }
            ApplicationConfig.PrintConfig();
            if (ApplicationConfig.versionCheckResult == VersionChecker.Result.None)
            {
                yield return(ApplicationStarter.ReadVersion(ApplicationConfig.versionFileUrl));
            }
            if (!ApplicationConfig.IsVersionValid())
            {
                yield return(GoToInitializationFailedState(InitializationFailure.UnvalidVersion));

                yield break;
            }
            this.StartCoroutine(CheckServerStatus());
            if (ApplicationConfig.haapiAllowed)
            {
                HaapiManager.Initialize();
            }
            string bundlesUrl     = ApplicationConfig.bundlesUrl;
            bool   patchAvailable = ApplicationConfig.versionCheckResult == VersionChecker.Result.PatchAvailable;

            yield return(ApplicationStarter.ConfigureAssetManager(bundlesUrl, patchAvailable));

            if (!AssetManager.get_isReady())
            {
                yield return(GoToInitializationFailedState(InitializationFailure.AssetManagerInitialisation));

                yield break;
            }
            if (patchAvailable)
            {
                yield return(ApplicationStarter.CheckPatch());
            }
            yield return(AudioManager.Load());

            PlayerPreferences.InitializeAudioPreference();
            yield return(RuntimeData.Load());

            if (!RuntimeData.isReady)
            {
                yield return(GoToInitializationFailedState(InitializationFailure.RuntimeDataInitialisation));

                yield break;
            }
            ConnectionHandler.Initialize();
            while (!m_serverStatusChecked)
            {
                yield return(null);
            }
            StatesUtility.GotoLoginState();
        }