// カード同士で戦闘する。 public void CardBattle(CardController attacker) { // 四方に対して、カードが存在した場合に双方で攻撃を行う。 foreach (var pair in AllAroundDirection) { CardController defender = GetArroundCard(attacker, pair.Value); // カード自体が存在しない場合 if (defender == null) { continue; } // 敵でない場合 if (attacker.model.gameSide == defender.model.gameSide) { continue; } attacker.Attack(defender, pair.Key); defender.Attack(attacker, DirectionUtil.getReverse(pair.Key)); // attacker.RefreshView(); // defender.RefreshView(); // 死んでいたら、底にカードを置けるようにする。 // カードは死ぬ。 // 再度そこにカードを置けるようにする。 if (attacker.IsDeath()) { FieldGridController controller = attacker.GetComponentInParent <FieldGridController>(); controller.GetComponent <DropCardToFieldEvent>().enabled = true; attacker.Death(); // 死亡回数をカウントする。 GameManager.instance.IncrementDeathCount(GameSide.Player); } if (defender.IsDeath()) { FieldGridController controller = defender.GetComponentInParent <FieldGridController>(); controller.GetComponent <DropCardToFieldEvent>().enabled = true; defender.Death(); GameManager.instance.IncrementDeathCount(GameSide.Enemy); } } }