Beispiel #1
0
    public void EndTurn()
    {
        turnIndex++;
        if (turnIndex == investigators.Count) // All Investigators have done their Action turn
        {
            // action phase is done
            GameManager.SingleInstance.ActionPhaseComplete();
        }
        else // More Investigators need to take their Action turn
        {
            Investigator active = investigators[turnIndex];
            if (active.delayed)
            {
                active.StopBeingDelayed();
                EndTurn();
            }
            else if (active.deathEncounter != null)
            {
                EndTurn();
            }
            else
            {
                int newIndex = App.Model.investigatorModel.GetInvestigatorIndex(active.investigatorName);
                App.Controller.investigatorController.NewActiveInvestigator(newIndex);
                actionsThisturn = 0;

                App.View.actionPhaseView.ActionTurnStarted();
            }
        }
    }
Beispiel #2
0
    public void ActionPerformed()
    {
        Investigator active = investigators[turnIndex];

        if (active.delayed) // Investigator is delayed
        {
            active.StopBeingDelayed();
            EndTurn();
        }
        else if (active.deathEncounter != null) // Investigator is dead
        {
            EndTurn();
        }
        else
        {
            actionsThisturn++;
            if (actionsThisturn == 2) // Current Investigator's Action turn is over
            {
                EndTurn();
            }
            else // Current Investigator needs to take another Action
            {
                App.View.actionPhaseView.ActionTurnStarted();
            }
        }
    }