private void OnAck_EnterScene(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); EnterSceneAck ack = Serializer.Deserialize <EnterSceneAck>(ms); GTEventCenter.FireEvent(GTEventID.TYPE_ENTERGAME_CALLBACK); GTLauncher.Instance.LoadScene(GTGlobal.LAST_CITY_ID); }
private void OnReq_EnterScene(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); EnterSceneReq req = Serializer.Deserialize <EnterSceneReq>(ms); EnterSceneAck ack = new EnterSceneAck(); ack.CopyID = req.CopyID; ack.CopyGuid = req.CopyGuid; ack.Carrer = GTGlobal.CurPlayerCarrerID; ack.ActorID = ReadCfgActor.GetDataById(GTGlobal.CurPlayerCarrerID).Id; NetworkManager.Instance.Send(MessageID.MSG_ENTER_SCENE_ACK, ack, 0, 0); }
private void OnAck_EnterScene(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); EnterSceneAck ack = Serializer.Deserialize <EnterSceneAck>(ms); if (GTItemHelper.ShowNetworkError(ack.RetCode) == false) { return; } XCharacter data = DataDBSCharacter.GetDataById(GTGlobal.CurPlayerCarrerID); if (data == null) { GTItemHelper.ShowTip("职业错误"); return; } else { data.Id = ack.ActorID; data.PosX = ack.x; data.PosY = ack.y; data.PosZ = ack.z; data.Face = ack.vx; data.Type = (int)EActorType.PLAYER; data.Camp = ack.Camp; data.CurAttrs.AddRange(GTTools.GetListFromEnumNames <int>(typeof(EAttr))); data.CurAttrs[(int)EAttr.MAXHP - 1] = ack.hpmax; data.CurAttrs[(int)EAttr.MAXMP - 1] = ack.mpmax; data.CurAttrs[(int)EAttr.HP - 1] = ack.hp; data.CurAttrs[(int)EAttr.MP - 1] = ack.mp; data.CurAttrs[(int)EAttr.SPEED - 1] = 600; GTGlobal.Main = data; GTGlobal.CurCopyGUID = ack.CopyGuid; GTSimulateServer.CalcMainPropertys(); GTWorld.Instance.ResetGuide(); GTWorld.Instance.EnterWorld(ack.CopyID); GTEventCenter.FireEvent(GTEventID.TYPE_MAP_ENTERWORLD); } }