Exemple #1
0
    public static void UpdateStagnation(this ScenarioState state, GameBoard board)
    {
        if (state.isBossScenario)
        {
            return;
        }
        switch (state.stagnationState)
        {
        case StagnationStates.Dormant:
            state.stagnationState = StagnationStates.Threatening;
            break;

        case StagnationStates.Threatening:
            state.ThreatenNewPositions(board);
            state.stagnationState = StagnationStates.Moving;
            break;

        case StagnationStates.Moving:
            state.stagnatedPositions.AddRange(state.threatenedStagnationPositions);
            state.threatenedStagnationPositions.Clear();
            state.stagnationState = StagnationStates.Threatening;
            break;

        default:
            break;
        }
    }