void _GetAllAttackingActions() { if (turn == BoardBehaviourScript.Turn.AITurn) { /* * foreach (CardBehaviourScript AICard in AITableCards) * { * if (AICard.canPlay) * { * foreach (CardBehaviourScript PlayerCard in PlayerTableCards) * { * //AICard Attack PlayerCard * AIGameState State = new AIGameState(PlayerTableCards, AIHandCards, AITableCards, PlayerHero, AIHero, maxMana, PlayerMana, AIMana, turn); * State.CardAttackCard(AICard,PlayerCard); * State.Calculate_State_Score(); * ChildsStatus.Add(State); * //Save State * } * } * } */ //Generate All Possible Placing List <List <CardBehaviourScript> > temp = ProduceAllAttackCombinations(AITableCards); foreach (var PlayerCard in PlayerTableCards) { for (int i = 0; i < temp.Count; i++) { AIGameState State = new AIGameState(PlayerTableCards, AIHandCards, AITableCards, PlayerHero, AIHero, maxMana, PlayerMana, AIMana, turn, this); for (int j = 0; j < temp[i].Count; j++) { if (temp[i][j].canPlay) { if (temp[i][j].cardtype == CardBehaviourScript.CardType.Monster) { State.CardAttackCard(temp[i][j], PlayerCard); } else if (temp[i][j].cardtype == CardBehaviourScript.CardType.Magic) { if (temp[i][j].cardeffect == CardBehaviourScript.CardEffect.ToSpecific) { State.CardMagicCard(temp[i][j], PlayerCard); } } } } State.Calculate_State_Score(); ChildsStatus.Add(State); } } } }