private void PrepForStage(int stage, Menu menu) { AlienGoTo(TutorialStages.AlienPositions[stage]); SetAlienMood(TutorialStages.IsAlienHappy[stage]); SetInstructions(Language.Translate(TutorialStages.Instructions[stage]), TutorialStages.InstructionPositions[stage], ButtonForAction(TutorialStages.ActionsAllowed[stage], TutorialStages.Highlights[stage])); highlightRect = GetRectangleFor(TutorialStages.Highlights[stage], menu); TutorialAction action = TutorialStages.ActionsAllowed[stage]; onlyAllow?.Invoke(action); waitingForAction = (action.Action != TutorialTask.None); }
private string ButtonForAction(TutorialAction action, TutorialActionArea highlight) { if (action.Action == TutorialTask.GameState) { switch ((GameState)action.Params) { case GameState.PickUser: if (highlight == TutorialActionArea.Start) { return("\"Start\""); } else { return("\"Create User\""); } case GameState.NewUser: return("\"Create New User\""); case GameState.MainMenu: if (highlight == TutorialActionArea.None) { return("your user"); } else if (highlight == TutorialActionArea.Back) { return("\"Back\""); } else { return(""); } case GameState.SelectMission: return("\"Play\""); case GameState.Playing: if (highlight == TutorialActionArea.Resume) { return("\"Resume\""); } else { return("\"0\""); } case GameState.Paused: return("the Escape (Esc.) key"); case GameState.Shop: return("\"Shop\""); case GameState.Crafting: return("\"Crafting\""); } } else if (action.Action == TutorialTask.Sweep) { return("the W key"); } else if (action.Action == TutorialTask.ShootRock) { return("the Space key"); } else if (action.Action == TutorialTask.BuyMaterial) { return("\"Buy\""); } else if (action.Action == TutorialTask.CraftItem) { return("\"Craft\""); } return(null); }