Example #1
0
 public Deck(PBDeck pBDeck) : this(pBDeck.Index, pBDeck.MaxCount, pBDeck.Name)
 {
     for (int i = 0; i < pBDeck.Cards.Count; i++)
     {
         m_Cards.Add(new NormalCard(pBDeck.Cards[i], false));
     }
 }
Example #2
0
    public PBDeck ToPBDeck()
    {
        PBDeck pbDeck = new PBDeck();

        pbDeck.Index    = this.index;
        pbDeck.MaxCount = this.max_count;
        pbDeck.Name     = this.name;
        for (int i = 0; i < Cards.Count; i++)
        {
            pbDeck.Cards.Add(Cards[i].CardId);
        }
        return(pbDeck);
    }
Example #3
0
 public void Update(PBPlayerDetailData playerDetailData)
 {
     //PlayerDetailData.Deck = new Deck();
     //for (int i = 0; i < characterData.DefaultCardList.Count; i++)
     //{
     //    NormalCard normalCard = new NormalCard(characterData.DefaultCardList[i], uidIndex++);
     //    CardList.Add(normalCard);
     //    PlayerDetailData.Kaku.Add(normalCard);
     //    PlayerDetailData.Deck.AddCard(normalCard);
     //}
     for (int i = 0; i < playerDetailData.Equips.Count; i++)
     {
         m_EquipList.Add(new NormalCard(playerDetailData.Equips[i], false));
     }
     for (int i = 0; i < playerDetailData.Buffs.Count; i++)
     {
         m_BuffList.Add(new NormalCard(playerDetailData.Buffs[i], false));
     }
     for (int i = 0; i < playerDetailData.Cards.Count; i++)
     {
         m_CardList.Add(new NormalCard(playerDetailData.Cards[i], false));
     }
     for (int i = 0; i < playerDetailData.Items.Count; i++)
     {
         m_ItemList.Add(new ItemData(playerDetailData.Items[i]));
     }
     UsingDeck = playerDetailData.UsingDeckIndex;
     for (int i = 0; i < playerDetailData.Decks.Count; i++)
     {
         PBDeck pbDeck = playerDetailData.Decks[i];
         Deck   deck   = new Deck(pbDeck.Index, pbDeck.MaxCount, pbDeck.Name);
         for (int j = 0; j < pbDeck.Cards.Count; j++)
         {
             deck.AddCard(new NormalCard(pbDeck.Cards[j], false));
         }
         decks[pbDeck.Index] = deck;
     }
     for (int i = 0; i < m_CardList.Count; i++)
     {
         kaku.Add(m_CardList[i]);
     }
 }
Example #4
0
    public override void Handle(object sender, IMessage packet)
    {
        base.Handle(sender, packet);
        CGCreatePlayer data = packet as CGCreatePlayer;
        //处理完数据和逻辑后,发送消息通知客户端
        GCSignIn userData = new GCSignIn();

        userData.Uid = data.UserId;
        ClassCharacterTableSetting characterData = ClassCharacterTableSettings.Get(data.CharacterId);

        if (characterData == null)
        {
            return;
        }
        userData.AccountData = GetSavedData <PBAccountData>(ACCOUNT_DATA_KEY);
        if (userData.AccountData == null)
        {
            userData.AccountData          = new PBAccountData();
            userData.AccountData.Uid      = data.UserId;
            userData.AccountData.Recharge = 0;
            userData.AccountData.Diamonds = 0;
            userData.AccountData.VipLevel = 0;
            SaveData(ACCOUNT_DATA_KEY, userData.AccountData);
        }
        userData.PlayerData = GetSavedData <PBPlayerData>(PLAYER_DATA_KEY);
        if (userData.PlayerData == null)
        {
            userData.PlayerData             = new PBPlayerData();
            userData.PlayerData.PlayerId    = 1;
            userData.PlayerData.Level       = 1;
            userData.PlayerData.CharacterId = data.CharacterId;
            ClassData         classData = new ClassData(data.CharacterId);
            LevelTableSetting levelData = LevelTableSettings.Get(userData.PlayerData.Level);
            if (levelData == null)
            {
                return;
            }
            userData.PlayerData.Food = 10;
            userData.PlayerData.Gold = 0;
            //userData.PlayerData.Name = data.Name;
            userData.PlayerData.Name     = I18N.Get(characterData.Name);
            userData.PlayerData.Hp       = userData.PlayerData.MaxHp = levelData.HP[(int)classData.Type];
            userData.PlayerData.Mp       = userData.PlayerData.MaxMp = levelData.MP[(int)classData.Type];
            userData.PlayerData.HeadIcon = characterData.IconID;
            SaveData(PLAYER_DATA_KEY, userData.PlayerData);
        }
        userData.PlayerDetailData = GetSavedData <PBPlayerDetailData>(PLAYER_DETAIL_DATA_KEY);
        if (userData.PlayerDetailData == null)
        {
            //PlayerDetailData = MyPlayer.DetailData;
            //PlayerDetailData.Deck = new Deck();
            //for (int i = 0; i < characterData.DefaultCardList.Count; i++)
            //{
            //    NormalCard normalCard = new NormalCard(characterData.DefaultCardList[i], uidIndex++);
            //    MyPlayer.Data.CardList.Add(normalCard);
            //    PlayerDetailData.Kaku.Add(normalCard);
            //    PlayerDetailData.Deck.AddCard(normalCard);
            //}
            userData.PlayerDetailData = new PBPlayerDetailData();
            userData.PlayerDetailData.Cards.AddRange(characterData.DefaultCardList);
            PBDeck deck = new PBDeck();
            deck.Cards.AddRange(characterData.DefaultCardList);
            userData.PlayerDetailData.UsingDeckIndex = deck.Index = 1;
            deck.MaxCount = 10;
            deck.Name     = "默认卡组";
            userData.PlayerDetailData.Decks.Add(deck);

            SaveData(PLAYER_DETAIL_DATA_KEY, userData.PlayerDetailData);
        }
        SendToClient(MessageId_Receive.GCSignIn, userData);
    }