public void Execute() { string input; Scene previousScene; Act.Display(ActiveScene); do { previousScene = ActiveScene; input = Act.ReadLine().ToUpper(); if (input == "QUIT") { Quit(); } switch (input) { case "HELP": case "H": Act.WriteTitle("Help Menu"); Act.WriteLine(@"Commands: INVENTORY/I GO EXAMINE/E COLLECT/PICK UP USE"); break; case "INVENTORY": case "I": Act.Display(PlayerEntity.Inventory); break; default: if (!PlayerEntity.Inventory.Work(this, input) && !ActiveScene.Work(this, input)) { DisplayError(); } if (ActiveScene != previousScene) { Act.Display(ActiveScene); IEpisode.Token token = new IEpisode.Token(this, ActiveScene, toRemoveEpisodes); foreach (IEpisode episode in ActiveScene.Episodes) { episode.Play(token); if (token.IsCanceled) { return; } } foreach (IEpisode episode in toRemoveEpisodes) { ActiveScene.RemoveEpisode(episode); } toRemoveEpisodes.Clear(); } break; } } while (!quit); }
public override void Execute(IWork.Token token) { Act.Display(Item); }
public override void Execute(IWork.Token token) { Act.Display(Map.Grid); }