Beispiel #1
0
    private void OnAck_ChangePartner(MessageRecv obj)
    {
        System.IO.MemoryStream ms  = new System.IO.MemoryStream(obj.Data);
        AckChangePartner       ack = Serializer.Deserialize <AckChangePartner>(ms);

        XCharacter role = RoleModule.Instance.GetCurPlayer();

        switch (ack.Pos)
        {
        case 1:
            role.Partner1 = ack.ID;
            break;

        case 2:
            role.Partner2 = ack.ID;
            break;
        }
        DataDBSRole.Update(role.Id, role);
        if (!DataDBSPartner.ContainsKey(ack.ID))
        {
            XPartner xp = new XPartner();
            xp.Id      = ack.ID;
            xp.Level   = 1;
            xp.Star    = 0;
            xp.Wake    = 0;
            xp.Advance = 1;
            xp.Exp     = 0;
            DataDBSPartner.Insert(ack.ID, xp);
        }

        CharacterManager.Instance.SyncMainPlayerData(ESyncDataType.TYPE_BASEATTR);
        GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_PARTNER, ack.Pos, ack.ID);
        GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_FIGHTVALUE);
    }
Beispiel #2
0
 public void   LoadCommonData()
 {
     if (GTGlobal.Along)
     {
         DataDBSRole.Read(GetCommonDataPath(GTDataKey.Data_Roles), EDataKeyType.Id);
     }
 }
Beispiel #3
0
    private void OnAck_SetMount(MessageRecv obj)
    {
        System.IO.MemoryStream ms  = new System.IO.MemoryStream(obj.Data);
        AckSetMount            ack = Serializer.Deserialize <AckSetMount>(ms);

        XCharacter role = RoleModule.Instance.GetCurPlayer();

        role.Mount = ack.MountID;
        DataDBSRole.Update(role.Id, role);
        GTEventCenter.FireEvent(GTEventID.TYPE_DRESS_MOUNT);
    }
Beispiel #4
0
    private void ShowView()
    {
        int        id     = mRoleDBList[mRoleIndex].Id;
        XCharacter role   = DataDBSRole.GetDataById(id);
        DActor     roleDB = ReadCfgActor.GetDataById(id);

        btnCreateRole.SetActive(role == null);
        btnRoll.SetActive(role == null);
        iptHeroName.gameObject.SetActive(role == null);
        btnEnterGame.SetActive(role != null);
        labHeroName.text = role != null?GTTools.Format("Lv.{0} {1}", role.Level, role.Name != null?role.Name : roleDB.Name) : "未创建";
    }
Beispiel #5
0
    private void OnEnterGameClick(GameObject go)
    {
        GTAudioManager.Instance.PlayEffectAudio(GTAudioKey.SOUND_UI_CLICK);
        int        id = mRoleDBList[mRoleIndex].Id;
        XCharacter c  = DataDBSRole.GetDataById(id);

        if (c == null)
        {
            GTItemHelper.ShowTip("你还没有创建这个角色");
            return;
        }
        LoginService.Instance.TryEnterGame(c.GUID);
    }
Beispiel #6
0
    private void OnAck_BattlePet(MessageRecv obj)
    {
        System.IO.MemoryStream ms  = new System.IO.MemoryStream(obj.Data);
        AckBattlePet           ack = Serializer.Deserialize <AckBattlePet>(ms);

        XCharacter role = RoleModule.Instance.GetCurPlayer();

        role.PetID = ack.ID;
        DataDBSRole.Update(role.Id, role);

        CharacterManager.Instance.SyncMainPlayerData(ESyncDataType.TYPE_BASEATTR);
        GTEventCenter.FireEvent(GTEventID.TYPE_BATTLE_PET);
        GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_FIGHTVALUE);
    }
Beispiel #7
0
    private void OnAck_UnloadRelics(MessageRecv obj)
    {
        System.IO.MemoryStream ms  = new System.IO.MemoryStream(obj.Data);
        AckUnloadRelics        ack = Serializer.Deserialize <AckUnloadRelics>(ms);

        XCharacter role = RoleModule.Instance.GetCurPlayer();

        role.Relic = 0;
        DataDBSRole.Update(role.Id, role);

        CharacterManager.Instance.SyncMainPlayerData(ESyncDataType.TYPE_BASEATTR);
        GTEventCenter.FireEvent(GTEventID.TYPE_UNLOAD_RELICS, ack.RelicsID);
        GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_FIGHTVALUE);
    }
Beispiel #8
0
    private void OnAck_CreateRole(MessageRecv obj)
    {
        System.IO.MemoryStream ms  = new System.IO.MemoryStream(obj.Data);
        RoleCreateAck          ack = Serializer.Deserialize <RoleCreateAck>(ms);

        XCharacter data = new XCharacter();

        data.Id    = (int)ack.RoleType;
        data.GUID  = ack.RoleID;
        data.Name  = ack.Name;
        data.Level = 1;

        DataDBSRole.Insert(data.Id, data);
        GTEventCenter.FireEvent(GTEventID.TYPE_CREATEROLE_CALLBACK);
    }
Beispiel #9
0
    private void OnAck_GetRoleList(MessageRecv obj)
    {
        System.IO.MemoryStream ms  = new System.IO.MemoryStream(obj.Data);
        RoleListAck            ack = Serializer.Deserialize <RoleListAck>(ms);

        for (int i = 0; i < ack.RoleList.Count; i++)
        {
            RoleItem   item = ack.RoleList[i];
            XCharacter data = new XCharacter();
            data.Id    = item.RoleType;
            data.GUID  = item.ID;
            data.Level = item.Level;
            data.Name  = item.Name;
            DataDBSRole.Update(data.Id, data);
        }

        GTLauncher.Instance.LoadScene(GTSceneKey.SCENE_Role);
    }
Beispiel #10
0
    private void OnAck_AddHeroExp(MessageRecv obj)
    {
        System.IO.MemoryStream ms  = new System.IO.MemoryStream(obj.Data);
        AckAddPlayerExp        ack = Serializer.Deserialize <AckAddPlayerExp>(ms);

        XCharacter player   = RoleModule.Instance.GetCurPlayer();
        int        oldLevel = player.Level;

        int maxLevel = ReadCfgRoleLevel.Count;

        if (player.Level >= maxLevel)
        {
            return;
        }
        player.CurExp += ack.Exp;
        DRoleLevel levelDB = ReadCfgRoleLevel.GetDataById(player.Level);

        while (player.CurExp >= levelDB.RequireExp)
        {
            player.CurExp -= levelDB.RequireExp;
            player.Level++;
            if (player.Level >= maxLevel)
            {
                player.CurExp = 0;
                break;
            }
            levelDB = ReadCfgRoleLevel.GetDataById(player.Level);
        }
        DataDBSRole.Update(player.Id, player);
        GTItemHelper.ShowExpTip(ack.Exp);


        int newLevel = player.Level;

        if (newLevel > oldLevel)
        {
            CharacterManager.Instance.SyncMainPlayerData(ESyncDataType.TYPE_LEVEL);
            GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_HEROLEVEL);
            GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_FIGHTVALUE);
        }
        GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_HEROEXP);
    }