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)); } }
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); }
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]); } }
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); }