public void SignIn(Session.SignInDelegate handler) { if (status == SessionStatus.NONE) { Result result = new Result(Result.NETMARBLES_DOMAIN, Result.SERVICE, "Not initialized"); if (handler != null) { handler(result); } } else if (status == SessionStatus.INITIALIZING) { waitForSignin = true; signInHandler = handler; } else if (status == SessionStatus.SIGNING) { Result result = new Result(Result.NETMARBLES_DOMAIN, Result.IN_PROGRESS, "It is currently in progress."); if (handler != null) { handler(result); } } else { status = SessionStatus.SIGNING; SignIn(OnSignIn, handler); } }
private void OnSignIn(Result result, Session.SignInDelegate handler) { status = SessionStatus.SIGNED; waitForSignin = false; if (handler != null) { handler(result); } signInHandler = null; }
private WWW SignIn(SignInDelegate callback, Session.SignInDelegate handler) { if (GMC2ServiceManager.Instance.GetConstantCount() == 0) { if (callback != null && callback is SignInDelegate) { Result result = new Result(Result.NETMARBLES_DOMAIN, Result.SERVICE, "GMC2 is fail"); Log.Debug("[NMGPlayMode.SessionManager] SignIn Fail (" + result + ")"); callback(result, handler); } return(null); } deviceKey = NMGPlayerPrefs.GetDeviceKey(); if (string.IsNullOrEmpty(deviceKey)) { deviceKey = Guid.NewGuid().ToString().Replace("-", "").ToUpper(); NMGPlayerPrefs.SetDeviceKey(deviceKey); Log.Debug("[NMGPlayMode.SessionManager] Save new deviceKey : " + deviceKey); } // UNDONE nmDeviceKey // string nmDeviceKey = null; // androidid, uuid WWWForm wwwForm = new WWWForm(); wwwForm.AddField("gameCode", ConfigurationManager.Instance.GameCode); wwwForm.AddField("deviceKey", deviceKey); wwwForm.AddField("playerId", playerId); wwwForm.AddField("countryCode", countryCode); Dictionary <string, string> headerDic = new Dictionary <string, string>(); headerDic["Content-Type"] = "application/x-www-form-urlencoded"; headerDic["Accept"] = "application/json"; string authUrl = GMC2ServiceManager.Instance.GetConstantValue("authUrl"); if (authUrl != null) { authUrl = authUrl.Replace("http://", "https://"); } authUrl += NMGConstants.SIGN_IN; WWW www = new WWW(authUrl, wwwForm.data, headerDic); CallbackManager.NetmarbleGameObject.StartCoroutine(WaitForSignIn(www, callback, handler)); return(www); }
private void OnChannelOptionSignIn(Result result, Session.SignInDelegate handler) { if (connectToChannelHandler != null) { connectToChannelHandler(result, null); } else if (selectChannelConnectOptionHandler != null) { selectChannelConnectOptionHandler(result); } connectToChannelHandler = null; selectChannelConnectOptionHandler = null; }
private void OnCreateSession(Result result) { status = SessionStatus.INITIALIZED; if (result.IsSuccess()) { Log.Debug("[NMGPlayMode.SessionManager] CreateSession Success"); // TODO update locale, language // UNDONE push update if (waitForTermsOfService) { UIViewManager.Instance.ShowTermsOfServiceView(termsOfServiceHandler); } if (waitForSignin) { status = SessionStatus.SIGNING; SignIn(OnSignIn, signInHandler); } } else { Log.Debug("[NMGPlayMode.SessionManager] CreateSession Fail"); if (waitForTermsOfService) { if (termsOfServiceHandler != null) { Log.Debug("[NMGPlayMode.SessionManager] Fail to get netmarbleS constants"); UIViewManager.Instance.OnShowView(UIViewState.FAILED, termsOfServiceHandler); } } if (waitForSignin) { if (signInHandler != null) { waitForSignin = false; status = SessionStatus.NONE; Result signinResult = new Result(Result.NETMARBLES_DOMAIN, Result.SERVICE, "Fail to get netmarbleS constants"); signInHandler(signinResult); signInHandler = null; } } } }
private IEnumerator WaitForSignIn(WWW www, SignInDelegate callback, Session.SignInDelegate handler) { yield return(www); Log.Debug("[NMGPlayMode.SessionManager] SignIn Callback : " + www.text + ", error : " + www.error); if (www.error == null) { ProcessData(www.text, callback, handler); } else { if (callback != null && callback is SignInDelegate) { Result result = new Result(Result.NETMARBLES_DOMAIN, Result.SERVICE, www.error); Log.Debug("[NMGPlayMode.SessionManager] SignIn Fail (" + result + ")"); callback(result, handler); } } }
public int SetSignInCallback(Session.SignInDelegate callback) { if (null == callback) { return(0); } int handlerNum = CallbackManager.AddHandler(delegate(CallbackMessage message) { Log.Debug("[SessionCallback] SignInCallback: " + message.ToString()); Result result = message.GetResult(); if (null != callback) { callback(result); } }); return(handlerNum); }
public void SignIn(Session.SignInDelegate callback) { int handlerNum = sessionCallback.SetSignInCallback(callback); nmg_session_signIn(handlerNum); }
public void SignIn(Session.SignInDelegate callback) { SessionManager.Instance.SignIn(callback); }
private void ProcessData(string jsonString, SignInDelegate callback, Session.SignInDelegate handler) { JsonData jsonData = JsonMapper.ToObject(jsonString); int resultCode = (int)jsonData["resultCode"]; string resultMessage = jsonData["resultMessage"].ToString(); if (resultCode == 200) { JsonData playerData = jsonData["player"]; IDictionary playerDic = playerData as IDictionary; playerId = playerDic["playerId"].ToString(); string region = null; if (playerDic.Contains("gameRegion")) { region = playerDic["gameRegion"].ToString(); } NMGPlayerPrefs.SetRegion(region); Log.Debug("[NMGPlayMode.SessionManager] Save new region : " + region); string joinedCountryCode = null; if (playerDic.Contains("joinedCountryCode")) { joinedCountryCode = playerDic["joinedCountryCode"].ToString(); } NMGPlayerPrefs.SetJoinedCountryCode(joinedCountryCode); Log.Debug("[NMGPlayMode.SessionManager] Save new JoinedCountryCode : " + joinedCountryCode); JsonData resultData = jsonData["resultData"]; gameToken = resultData["gameToken"].ToString(); JsonData keyInfoData = resultData["cipherKeyList"]["keyInfos"]; for (int i = 0; i < keyInfoData.Count; i++) { string cipherType = keyInfoData[i]["cipherType"].ToString(); string secretKey = keyInfoData[i]["secretKey"].ToString(); Cipher cipher = null; if (cipherType == "CIPHER_RC4_40") { cipher = new Cipher(CipherType.RC4_40, secretKey, null); } else if (cipherType == "CIPHER_AES_128_CBC") { string aesInitVec = keyInfoData[i]["aesInitVec"].ToString(); cipher = new Cipher(CipherType.AES_128_CBC, secretKey, aesInitVec); } if (cipher != null) { cipherDataDic[cipher.CipherType] = cipher; } } JsonData hmacInfoData = resultData["hmacInfoList"]["hmacInfos"]; for (int i = 0; i < hmacInfoData.Count; i++) { string hmacType = hmacInfoData[i]["hmacType"].ToString(); string hmacKey = hmacInfoData[i]["hmacKey"].ToString(); hmacDataDic[hmacType] = hmacKey; } if (callback != null && callback is SignInDelegate) { testData.SetChannelConnectionData(playerId, deviceKey); CheckConnectedChannelAndAutoSignin(playerId); // Talk SignedTalkKit(); Result result = new Result(Result.NETMARBLES_DOMAIN, Result.SUCCESS, "Success"); Log.Debug("[NMGPlayMode.SessionManager] SignIn OK (" + result + ")"); callback(result, handler); } } else { if (callback != null && callback is SignInDelegate) { Result result = new Result(Result.NETMARBLES_DOMAIN, Result.SERVICE, "ErrorCode(" + resultCode + "), ErrorMessage(" + resultMessage + ")"); Log.Debug("[NMGPlayMode.SessionManager] SignIn Fail (" + result + ")"); callback(result, handler); } } }
public void SignIn(Session.SignInDelegate callback) { }
public void SignIn(Session.SignInDelegate callback) { int handlerNum = sessionCallback.SetSignInCallback(callback); sessionAndroidClass.CallStatic("nmg_session_signIn", handlerNum); }