//Create a delegate and event public void Delegate(int customerid) { CustomerLogin cust; using (ProductDb db = new ProductDb()) { //gets the customer using the id. cust = db.CustomerLogins.SingleOrDefault(c => c.Customer.CustomerId == customerid); if (cust != null) { SignInDelegate sd = new SignInDelegate(CustomerAlert); sd += UpdateNavbar; sd += AuthCookie; SignInEvent = sd; SignInEvent(cust.UserName); } } }
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); } } }
/** * @brief Sign In to NetmarbleS service.<br> * After signing in, game token can be used to authenticate the player in game server. * * @param callback Callback to deal with a reponse to the request. * @see SignInDelegate */ public void SignIn(SignInDelegate callback) { Log.Debug("[Session] SignIn"); SessionImpl.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); } } }