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