public void SyncMainPlayerData(ESyncDataType type) { if (Main != null) { GTSimulateServer.CalcMainPropertys(); Main.SyncData(GTGlobal.Main, type); } }
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); } }