public void RemoveCharacter(Character character) { using (var notifier = new TurnNotifier(this)) { normalTurn_.Remove(character); waiting_.Remove(character); } }
public void Wait() { Debug.Assert(!IsEmpty()); Debug.Assert(!IsWaitStage, "Cannot wait in wait stage"); using (var notifier = new TurnNotifier(this)) { var character = RemoveLast(normalTurn_); waiting_.Add(character); } }
public void DoAction() { Debug.Assert(!IsEmpty()); using (var notifier = new TurnNotifier(this)) { if (IsWaitStage) { RemoveLast(waiting_); return; } RemoveLast(normalTurn_); } }