Exemple #1
0
    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);
    }
Exemple #3
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);
        }
    }