コード例 #1
0
    //called at the end of each turn
    public void endTurn()
    {
        //if I was just doing a mulligan, finish it and dont mulligan ever again
        if (playerInput.controller.mulliganTurn)
        {
            mulligan.finishMulligan();
            mulligan.changeVisibility(false);
            if (playernum == 2)
            {
                playerInput.controller.mulliganTurn = false;
                Card thecoin = CardController.getCardByFilename("thecoin");
                hand.Add(CardController.getController().createHandCard(thecoin, this));
            }
        }

        //make sure once-per-turn things are not usuable until refreshed
        hero.attacked = true;
        activeplayer  = false;

        //trigger end of turn effects, escape concurrentmodification in case any of them destroy themselves
        Minion[] currentMinions = new Minion[7];
        for (int i = 0; i < board.Count; i++)
        {
            currentMinions[i] = board[i];
        }

        for (int i = 0; i < currentMinions.Length; i++)
        {
            if (currentMinions[i] != null)
            {
                Minion m = currentMinions[i];
                m.activateOnFriendlyTurnEnd();
                m.effect.onTurnEnd();
                m.canAttack = false;
            }
        }
        foreach (Minion m in playerInput.controller.getOtherPlayer(this).board)
        {
            m.effect.onEnemyTurnEnd();
            m.effect.onTurnEnd();
        }
        if (playerInput.currentAction == "aimingbattlecry")
        {
            playerInput.cancelBattlecry(currentObj.GetComponent <HandCard>());
        }
        currentObj = null;
    }