public BattleCard(TroopMember member)
        {
            m_CardData            = new CardData();
            m_CardData.CardGuid   = member.guid;
            m_CardData.CardTempId = member.cardID;
            m_CardData.TotalHp    = member.initHp;
            m_CardData.MemberData = member;
            m_CurrentHp           = member.initHp;

            if (member.state == 1)
            {
                m_IsDead = true;
            }

            if (0 <= member.slotIndex && member.slotIndex <= 5)
            {
                m_CardType   = BattleCardType.E_BATTLE_CARD_TYPE_SELF;
                m_BattleSlot = BattleCardManager.Instance.BattleSlotArray[BattleCardType.E_BATTLE_CARD_TYPE_SELF][member.slotIndex];
            }
            else
            {
                m_CardType   = BattleCardType.E_BATTLE_CARD_TYPE_OTHER;
                m_BattleSlot = BattleCardManager.Instance.BattleSlotArray[BattleCardType.E_BATTLE_CARD_TYPE_OTHER][member.slotIndex - 6];
            }
            m_BattleSlot.SetCard(this);
            m_BattleSlot.SetTotalHp(member.initHp);
            m_BattleSlot.SetCurHp(member.initHp);

            m_StateMachine = new CardStateMachine(this);
        }
 public void StopMoveCard(BattleCardType type)
 {
     foreach (BattleCard battle_card in m_BattleCardList[type])
     {
         if (!battle_card.IsDead)
         {
             battle_card.ChangeState(CardStateType.E_CARD_STATE_NORMAL);
         }
         else
         {
             battle_card.ChangeState(CardStateType.E_CARD_STATE_DEAD);
         }
     }
 }
        public void SetAllSlotFrameVisible(BattleCardType type, bool visible)
        {
            if (type == BattleCardType.E_BATTLE_CARD_TYPE_ALL)
            {
                foreach (BattleCard battle_card in m_BattleCardList[BattleCardType.E_BATTLE_CARD_TYPE_SELF])
                {
                    battle_card.Battle_Slot.SetSlotFrameVisible(visible);
                }

                foreach (BattleCard battle_card in m_BattleCardList[BattleCardType.E_BATTLE_CARD_TYPE_OTHER])
                {
                    battle_card.Battle_Slot.SetSlotFrameVisible(visible);
                }
            }
            else
            {
                foreach (BattleCard battle_card in m_BattleCardList[type])
                {
                    battle_card.Battle_Slot.SetSlotFrameVisible(visible);
                }
            }
        }
        public void DestroyAllBuffs(BattleCardType type)
        {
            if (type == BattleCardType.E_BATTLE_CARD_TYPE_ALL)
            {
                foreach (BattleCard battle_card in m_BattleCardList[BattleCardType.E_BATTLE_CARD_TYPE_SELF])
                {
                    battle_card.RemoveAllBuff();
                }

                foreach (BattleCard battle_card in m_BattleCardList[BattleCardType.E_BATTLE_CARD_TYPE_OTHER])
                {
                    battle_card.RemoveAllBuff();
                }
            }
            else
            {
                foreach (BattleCard battle_card in m_BattleCardList[type])
                {
                    battle_card.RemoveAllBuff();
                }
            }
        }
        public void MakeCardStateWaiting(BattleCardType type)
        {
            if (type == BattleCardType.E_BATTLE_CARD_TYPE_ALL)
            {
                foreach (BattleCard battle_card in m_BattleCardList[BattleCardType.E_BATTLE_CARD_TYPE_SELF])
                {
                    battle_card.ChangeState(CardStateType.E_CARD_STATE_WAITING);
                }

                foreach (BattleCard battle_card in m_BattleCardList[BattleCardType.E_BATTLE_CARD_TYPE_OTHER])
                {
                    battle_card.ChangeState(CardStateType.E_CARD_STATE_WAITING);
                }
            }
            else
            {
                foreach (BattleCard battle_card in m_BattleCardList[type])
                {
                    battle_card.ChangeState(CardStateType.E_CARD_STATE_WAITING);
                }
            }
        }
        public void ResetCard(BattleCardType type)
        {
            if (type == BattleCardType.E_BATTLE_CARD_TYPE_ALL)
            {
                foreach (BattleCard battle_card in m_BattleCardList[BattleCardType.E_BATTLE_CARD_TYPE_SELF])
                {
                    battle_card.Reset();
                }

                foreach (BattleCard battle_card in m_BattleCardList[BattleCardType.E_BATTLE_CARD_TYPE_OTHER])
                {
                    battle_card.Reset();
                }
            }
            else
            {
                foreach (BattleCard battle_card in m_BattleCardList[type])
                {
                    battle_card.Reset();
                }
            }
        }
 public void DestroyCard(BattleCardType type)
 {
     if (type == BattleCardType.E_BATTLE_CARD_TYPE_ALL)
     {
         foreach (BattleCard battle_card in m_BattleCardList[BattleCardType.E_BATTLE_CARD_TYPE_SELF])
         {
             battle_card.Destroy();
         }
         m_BattleCardList[BattleCardType.E_BATTLE_CARD_TYPE_SELF].Clear();
         foreach (BattleCard battle_card in m_BattleCardList[BattleCardType.E_BATTLE_CARD_TYPE_OTHER])
         {
             battle_card.Destroy();
         }
         m_BattleCardList[BattleCardType.E_BATTLE_CARD_TYPE_OTHER].Clear();
     }
     else
     {
         foreach (BattleCard battle_card in m_BattleCardList[type])
         {
             battle_card.Destroy();
         }
         m_BattleCardList[type].Clear();
     }
 }