public void OnLogin(EzAccount account, GameSession session) { var request = Gs2Util.LoadGlobalResource <AccountTakeOverRequest>("AccountTakeOverRequest"); request.gameSession = session; SceneManager.LoadScene("AccountTakeOver"); }
/// <summary> /// 初期化処理 /// </summary> /// <returns></returns> private IEnumerator Initialize( Animator animator ) { controller.gs2AccountSetting.onLoadAccount.AddListener( loadAccount => { this.account = loadAccount; } ); controller.gs2AccountSetting.onCreateAccount.AddListener( saveAccount => { this.account = saveAccount; } ); AsyncResult <object> result = null; yield return(controller.gs2Client.Initialize( r => { result = r; } )); if (result.Error != null) { controller.gs2AccountSetting.onError.Invoke( result.Error ); animator.SetTrigger(Trigger.InitializeFailed.ToString()); yield break; } animator.SetTrigger(Trigger.InitializeSucceed.ToString()); }
public void OnLogin(EzAccount account, GameSession session) { var request = Gs2Util.LoadGlobalResource <MoneyRequest>("MoneyRequest"); request.gameSession = session; StartCoroutine(LoadScene()); }
public void OnLogin(EzAccount account, GameSession session) { var request = Gs2Util.LoadGlobalResource <MatchmakingRequest>("MatchmakingRequest"); request.gameSession = session; SceneManager.LoadScene("Matchmaking"); }
public EzDoTakeOverResult( DoTakeOverResult result ) { if (result.item != null) { Item = new EzAccount(result.item); } }
public EzCreateResult( CreateAccountResult result ) { if (result.item != null) { Item = new EzAccount(result.item); } }
/// <summary> /// ログインする /// </summary> /// <returns></returns> public IEnumerator Login( UnityAction <AsyncResult <GameSession> > callback, EzAccount account ) { Initialize(); AsyncResult <GameSession> result1 = null; yield return(gs2Client.profile.Login( new Gs2AccountAuthenticator( gs2Client.profile.Gs2RestSession, gs2AccountSetting.accountNamespaceName, gs2AccountSetting.accountEncryptionKeyId, account.UserId, account.Password ), r => { result1 = r; } )); if (result1.Error != null) { gs2AccountSetting.onError.Invoke( result1.Error ); callback.Invoke(result1); yield break; } var session = result1.Result; AsyncResult <EzSetUserIdResult> result2 = null; yield return(gs2Client.client.Gateway.SetUserId( r => { result2 = r; }, session, gs2AccountSetting.gatewayNamespaceName, true )); if (result2.Error != null) { gs2AccountSetting.onError.Invoke( result2.Error ); callback.Invoke(result1); yield break; } gs2AccountSetting.onLogin.Invoke(account, session); callback.Invoke(result1); }
public EzAuthenticationResult( AuthenticationResult result ) { if (result.item != null) { Item = new EzAccount(result.item); } Body = result.body; Signature = result.signature; }
public void OnLogin(EzAccount account, GameSession session) { Debug.Log("LoginDirector::OnLogin"); var gs2GameSession = Instantiate(gs2GameSessionPrefab); gs2GameSession.name = gs2GameSessionPrefab.name; gs2GameSession.Account = account; gs2GameSession.Session = session; onCreateGs2GameSessionEvent.Invoke(gs2GameSession); }
public void OnLogin(EzAccount account, GameSession session) { { var request = Gs2Util.LoadGlobalResource <MoneyRequest>("MoneyRequest"); request.gameSession = session; } { var request = Gs2Util.LoadGlobalResource <StaminaRequest>("StaminaRequest"); request.gameSession = session; } SceneManager.LoadScene("Stamina"); }
/// <summary> /// アカウントの永続化処理 /// </summary> /// <returns></returns> public IEnumerator SaveAccount( UnityAction <AsyncResult <object> > callback, EzAccount account ) { Initialize(); _repository.SaveAccount(account); gs2AccountSetting.onSaveAccount.Invoke(account); callback.Invoke(new AsyncResult <object>(null, null)); yield break; }
/// <summary> /// アカウント情報を永続化する /// </summary> /// <param name="account"></param> public void SaveAccount(EzAccount account) { if (File.Exists(AccountDataPath())) { File.Delete(AccountDataPath()); } MakeAccountDataDirectory(); var json = new JsonData { ["userId"] = account.UserId, ["password"] = account.Password }; var writer = new BinaryWriter(new FileStream(AccountDataPath(), FileMode.Create, FileAccess.Write)); writer.Write(json.ToJson()); writer.Close(); }
public IEnumerator CreateAndLoginAction() { if (isSatart) { yield break; } string filePath; #if !UNITY_EDITOR && UNITY_ANDROID filePath = Application.persistentDataPath + "/accountData.bad"; #else // TODO: 本来は各プラットフォームに対応した処理が必要 filePath = "./accountData.bad"; #endif Debug.Log(filePath); // GS2 SDK のクライアントを初期化 Debug.Log("GS2 SDK のクライアントを初期化"); profile = new Gs2.Unity.Util.Profile( clientId: clientId, clientSecret: clientSecret, reopener: new Gs2BasicReopener() ); { AsyncResult <object> asyncResult = null; var current = profile.Initialize( r => { asyncResult = r; } ); yield return(current); // コルーチンの実行が終了した時点で、コールバックは必ず呼ばれています // クライアントの初期化に失敗した場合は終了 if (asyncResult.Error != null) { OnError(asyncResult.Error); yield break; } } EzAccount account = null; gs2 = new Gs2.Unity.Client(profile); //ファイルが存在するか確認する。 if (!File.Exists(filePath)) { // アカウントを新規作成 Debug.Log("アカウントを新規作成"); { AsyncResult <EzCreateResult> asyncResult = null; var current = gs2.Account.Create( r => { asyncResult = r; }, accountNamespaceName ); yield return(current); // コルーチンの実行が終了した時点で、コールバックは必ず呼ばれています // アカウントが作成できなかった場合は終了 if (asyncResult.Error != null) { OnError(asyncResult.Error); yield break; } // 作成したアカウント情報を取得 account = asyncResult.Result.Item; //作成したアカウント情報を保存 BinaryFormatter bf = new BinaryFormatter(); FileStream file = File.Create(filePath); try { // 指定したオブジェクトを上で作成したストリームにシリアル化する bf.Serialize(file, account); } finally { // ファイル操作には明示的な破棄が必要です。Closeを忘れないように。 if (file != null) { file.Close(); } } } } { // バイナリ形式でデシリアライズ BinaryFormatter bf = new BinaryFormatter(); // 指定したパスのファイルストリームを開く FileStream file = File.Open(filePath, FileMode.Open); try { // 指定したファイルストリームをオブジェクトにデシリアライズ。 account = (EzAccount)bf.Deserialize(file); } finally { // ファイル操作には明示的な破棄が必要です。Closeを忘れないように。 if (file != null) { file.Close(); } } } // ログイン Debug.Log("ログイン"); { AsyncResult <GameSession> asyncResult = null; var current = profile.Login( authenticator: new Gs2AccountAuthenticator( session: profile.Gs2Session, accountNamespaceName: accountNamespaceName, keyId: accountEncryptionKeyId, userId: account.UserId, password: account.Password ), r => { asyncResult = r; } ); yield return(current); // コルーチンの実行が終了した時点で、コールバックは必ず呼ばれています // ゲームセッションオブジェクトが作成できなかった場合は終了 if (asyncResult.Error != null) { OnError(asyncResult.Error); yield break; } // ログイン状態を表すゲームセッションオブジェクトを取得 session = asyncResult.Result; } Debug.Log("ログイン完了"); titleScene.GetComponent <TitleScene>().flag = true; }
public void OnDoTakeOver(EzAccount account) { new AccountRepository().SaveAccount(account); SceneManager.LoadScene("AccountRegistrationLogin"); }