//------------------------------------------------------------------------------------ //void _onLoginLockChange(int result, string data, string[] chdn, Dictionary<string, object> param) //{ // if (result != 0) return; // LoginServerInfo info = param["LoginServerInfo"] as LoginServerInfo; // info.bloginLock = true; // getZkClient().areadData(info.loginNode, false, _onLoginNodeData, param); //} //------------------------------------------------------------------------------------ // 解析login传过来的登陆数据 void _onLoginNodeData(int result, string data, string[] chdn, Dictionary <string, object> param) { LoginServerInfo info = param["LoginServerInfo"] as LoginServerInfo; if (info.bloginLock) { getZkClient().adelete(info.loginLockNode, null); info.bloginLock = false; } if (data == null || data == "") { return; } // 处理玩家登陆. // LoginNodeId string[] resul; char[] charSeparators = new char[] { ',', ':' }; resul = data.Split(charSeparators); if (resul.Length != 4) { EbLog.Error("Error format , the correct format should be 000000006,000000005 -> (accountId,LoginId) "); return; } LoginPlayer player = new LoginPlayer(); player.Account = resul[0]; player.LoginNodeId = resul[1]; player.TokenId = resul[2]; player.AccountId = int.Parse(resul[3]); player.ServerGroup = ProjectName; mLoginPlayer.Add(player.Account, player); }
// Use this for initialization void Start() { Debug.Log("loggedin is " + loggedin); instance = this; if (DBData == null) { DBData = new LocalPlayer(); DBData.coinsText = coinsText; } }
/// <summary> /// 创建净数据对象 by吴江 /// </summary> /// <param name="_info"></param> /// <returns></returns> public static LoginPlayer CreateDummy(PlayerBaseInfo _info) { GameObject newGO = new GameObject("Dummy LoginPlayer[" + _info.ServerInstanceID + "]"); newGO.tag = "Player"; // newGO.AddComponent<ActorMoveFSM>(); LoginPlayer loginPlayer = newGO.AddComponent <LoginPlayer>(); loginPlayer.actorInfo = _info; loginPlayer.isDummy_ = true; GameCenter.curGameStage.AddObject(loginPlayer); return(loginPlayer); }
private void SendJoinRoomFail(JoinRoomResponseEvent e) { _logger.ErrorFormat("JoinRoom Error ... Code:{0}", e.JoinRoomResponseInfo.ErrCode); var rCode = IntData.Allocate(); rCode.Value = (int)e.JoinRoomResponseInfo.ErrCode; var rHallRoomId = LongData.Allocate(); rHallRoomId.Value = e.HallRoomId; var loginPlayer = LoginPlayer.Allocate(); loginPlayer.Id = e.JoinRoomResponseInfo.PlayerId; loginPlayer.Token = ""; SendAndReleaseMessage(RpcMessageType.ResponseJoinRoom, rCode, rHallRoomId, loginPlayer); }
private void SendJoinRoomSuccess(JoinRoomResponseEvent e) { _logger.InfoFormat("JoinRoom Successfully Player Id {0} Token {1}", e.JoinRoomResponseInfo.PlayerId, e.JoinRoomResponseInfo.Token); var loginPlayer = LoginPlayer.Allocate(); loginPlayer.Id = e.JoinRoomResponseInfo.PlayerId; loginPlayer.Token = e.JoinRoomResponseInfo.Token; var rCode = IntData.Allocate(); rCode.Value = e.RetCode; var rHallRoomId = LongData.Allocate(); rHallRoomId.Value = e.HallRoomId; SendAndReleaseMessage(RpcMessageType.ResponseJoinRoom, rCode, rHallRoomId, loginPlayer); }
protected IEnumerator CreateAsync(Action <LoginPlayer> _callback) { if (isDummy_ == false) { GameSys.LogError("You can only start create LoginPlayer in dummy: " + actorInfo.ServerInstanceID); yield break; } LoginPlayer loginPlayer = null; bool faild = false; pendingDownload = Create(actorInfo, delegate(LoginPlayer _pc, EResult _result) { if (_result != EResult.Success) { faild = true; return; } loginPlayer = _pc; pendingDownload = null; }); while (loginPlayer == null || loginPlayer.inited == false) { if (faild) { yield break; } yield return(null); } pendingDownload = null; while (GameCenter.curGameStage == null) { yield return(null); } if (_callback != null) { _callback(loginPlayer); } }