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; } }