Пример #1
0
 private void Enemy_OnAddPlayCardEvent(BattleCardBase card)
 {
     if (card.IsInHand || card.IsInDeck)
     {
         Sender.Send("EnemyPlay", $"{CardData.Parse(card)}");
     }
 }
Пример #2
0
 private void Player_OnAddCemeteryEvent(BattleCardBase card, BattlePlayerBase.CEMETERY_TYPE cemeteryType, bool isOpen)
 {
     if (card.SelfBattlePlayer != null && card.IsInDeck)
     {
         Sender.Send("PlayerDraw", $"{CardData.Parse(card)}");
     }
 }
Пример #3
0
 private void Enemy_OnAddHandCardEvent(BattleCardBase card, NetworkCardPlaceState fromState, bool isOpen)
 {
     if ((fromState == NetworkCardPlaceState.None && card.CardId > 900000000) || fromState == NetworkCardPlaceState.Field)
     {
         Sender.Send("EnemyAdd", $"{CardData.Parse(card, true)}");
     }
 }
Пример #4
0
 private void Player_OnAddBanishEvent(BattleCardBase card)
 {
     if (card.IsInDeck)
     {
         Sender.Send("PlayerDraw", $"{CardData.Parse(card)}");
     }
 }
Пример #5
0
 private void Enemy_OnSpellPlayEvent(BattleCardBase card)
 {
     if (card.IsInHand || card.IsInDeck)
     {
         Sender.Send($"EnemyPlay:{CardData.Parse(card)}");
     }
 }
Пример #6
0
 private void Player_OnAddPlayCardEvent(BattleCardBase card)
 {
     if (card.IsInDeck)
     {
         Sender.Send($"PlayerDraw:{CardData.Parse(card)}");
     }
 }
Пример #7
0
        private void Enemy_OnSpellPlayEvent(BattleCardBase card)
        {
            if (card.IsInHand || card.IsInDeck)
            {
                Sender.Send($"EnemyPlay:{CardData.Parse(card)}");
            }
#if DEBUG
            else
            {
                Sender.Send($"EnemySpellPlay:{card.BaseParameter.CardName}");
            }
#endif
        }
Пример #8
0
        private void Enemy_OnAddHandCardEvent(BattleCardBase card, NetworkCardPlaceState fromState)
        {
            if (fromState == NetworkCardPlaceState.None || fromState == NetworkCardPlaceState.Field)
            {
                Sender.Send($"EnemyAdd:{CardData.Parse(card, true)}");
            }
#if DEBUG
            else
            {
                Sender.Send($"EnemyAddHandCard:{card.BaseParameter.CardName},{fromState.ToString()}");
            }
#endif
        }
Пример #9
0
        private void Player_OnAddPlayCardEvent(BattleCardBase card)
        {
            if (card.IsInDeck)
            {
                Sender.Send($"PlayerDraw:{CardData.Parse(card)}");
            }
#if DEBUG
            else
            {
                Sender.Send($"PlayerPlayCard:{card.BaseParameter.CardName}");
            }
#endif
        }
Пример #10
0
        private void Player_OnAddHandCardEvent(BattleCardBase card, NetworkCardPlaceState fromState)
        {
            if (!_hasMulligan)
            {
                _hasMulligan = true;

                var cardList = new List <string>();
                foreach (var c in _player.DeckCardList)
                {
                    cardList.Add($"{CardData.Parse(c)}");
                }
                cardList.Add($"{CardData.Parse(card)}");

                if (_player.Turn == 0)
                {
                    foreach (var c in _player.HandCardList)
                    {
                        cardList.Add($"{CardData.Parse(c)}");
                    }
                }

                Sender.Send($"PlayerDeck:{cardList.Aggregate((sum, s) => $"{sum};{s}")}");
            }
            else if (fromState == NetworkCardPlaceState.Stock && _player.Turn > 0)
            {
                if (!_hasPlayerDrawn && _player.Turn == 1)
                {
                    _hasPlayerDrawn = true;

                    foreach (var c in _player.HandCardList)
                    {
                        Sender.Send($"PlayerDraw:{CardData.Parse(c)}");
                    }
                }

                Sender.Send($"PlayerDraw:{CardData.Parse(card)}");
            }
#if DEBUG
            else
            {
                Sender.Send($"PlayerAddHand:{card.BaseParameter.CardName},{fromState.ToString()}");
            }
#endif
        }
Пример #11
0
        public static CardData Parse(BattleCardBase card, bool realCost = false, int amount = 1)
        {
            var param = card.BaseParameter;
            var d     = param.CardId.ToString();
            var id    = int.Parse($"{d[3]}{d[5]}{d[2]}{d[6]}{d[7]}{d[0]}");
            var data  = new CardData
            {
                ID     = id,
                Name   = Regex.Replace(param.CardName, @"(\[[a-zA-Z0-9\/\-]*(rub\<[^\>]*\>)*\])", ""),
                Cost   = realCost ? card.Cost : param.Cost,
                Amount = amount
            };

            if (param.CharType == CharaType.NORMAL)
            {
                data.Atk  = param.Atk;
                data.Life = param.Life;
            }
            return(data);
        }
Пример #12
0
        private void Player_OnAddHandCardEvent(BattleCardBase card, NetworkCardPlaceState fromState, bool isOpen)
        {
            if (!_hasMulligan)
            {
                _hasMulligan = true;

                var cardList = new List <string>();
                foreach (var c in _player.DeckCardList)
                {
                    cardList.Add($"{CardData.Parse(c)}");
                }
                cardList.Add($"{CardData.Parse(card)}");

                if (_player.Turn == 0)
                {
                    foreach (var c in _player.HandCardList)
                    {
                        cardList.Add($"{CardData.Parse(c)}");
                    }
                }

                Sender.Send("PlayerDeck", $"{cardList.Aggregate((sum, s) => $"{sum}\n{s}")}");
            }
            else if (fromState == NetworkCardPlaceState.Stock && _player.Turn > 0)
            {
                if (!_hasPlayerDrawn && _player.Turn == 1)
                {
                    _hasPlayerDrawn = true;

                    foreach (var c in _player.HandCardList)
                    {
                        Sender.Send("PlayerDraw", $"{CardData.Parse(c)}");
                    }
                }

                Sender.Send("PlayerDraw", $"{CardData.Parse(card)}");
            }
        }
Пример #13
0
 private void Enemy_OnAddDeckEvent(BattleCardBase card)
 {
     Sender.Send("EnemyAdd", $"{CardData.Parse(card, true)}");
 }