public void StartGame(Player player, RuleSettings selectedRuleset, FtueController ftueController, SessionScript sessionScript, OverlayUISceneActivator overlayUISceneActivator) { print("[FTUE] Fifth ftue game started "); InterfaceController.Instance.Show(GameWindow.OverlayUIScene); InterfaceController.Instance.Hide(GameWindow.MainMenu); SceneActivationBehaviour <TopBarUIActivator> .Instance.SetButtons(false); GameplayScript gameplay = sessionScript.CreateGameAndStart(player, selectedRuleset); BoardCreationScript boardCreationScript = gameplay.GetComponent <BoardCreationScript>(); InterfaceController.Instance.Show(GameWindow.BonusBarUI); SceneActivationBehaviour <BonusBarUIActivator> .Instance.ShowDim(true); InterfaceController.Instance.Hide(GameWindow.ToolbarUI); boardCreationScript.BlockAllCells(); overlayUISceneActivator.ShowFtueGameplayMessage(GameConstants.Ftue.FourthGame.FtueMessages.Instructions4_1, true, true, 0, true); ftueController.SendFtueProgress("Game4StartStarBar_27"); overlayUISceneActivator.SubscribeForFullScreenTap(() => { SceneActivationBehaviour <BonusBarUIActivator> .Instance.ShowDim(false); ftueController.SendFtueProgress("ReadyStart_28"); overlayUISceneActivator.ShowFtueGameplayMessage(GameConstants.Ftue.FourthGame.FtueMessages.Instructions4_2, true, true, 0, true); overlayUISceneActivator.SubscribeForFullScreenTap(() => { ftueController.SendFtueProgress("StartGame4_29"); overlayUISceneActivator.HideFtueMessages(); overlayUISceneActivator.ftueMessagesPerStage = 0; gameplay.StartDelayedSession(); boardCreationScript.UnblockAllCells(); gameplay.OnPuzzleSolved += gameData => { int i = int.Parse(gameData.Ruleset.Id); ftueController.ProceedToGameOverAward(player, i); ftueController.SendFtueProgress("Game4Complete_30"); }; }); }); }
public void StartGame(Player player, RuleSettings selectedRuleset, FtueController ftueController, SessionScript sessionScript, OverlayUISceneActivator overlayUISceneActivator, bool shouldShowHintTip) { print("[FTUE] Sixth ftue game started "); InterfaceController.Instance.Hide(GameWindow.MainMenu); GameplayScript gameplay = sessionScript.CreateGameAndStart(player, selectedRuleset); BoardCreationScript boardCreationScript = gameplay.GetComponent <BoardCreationScript>(); InterfaceController.Instance.Show(GameWindow.ToolbarUI); if (shouldShowHintTip) { SceneActivationBehaviour <ToolbarUIActivator> .Instance.HintButtonScript.FtueForceHintOn(); InterfaceController.Instance.Show(GameWindow.OverlayUIScene); SceneActivationBehaviour <TopBarUIActivator> .Instance.SetButtons(false); boardCreationScript.BlockAllCells(); overlayUISceneActivator.ShowFtueGameplayMessage(GameConstants.Ftue.SixthGame.FtueMessages.Instructions6_1, true, false, 0, false, 1, false); SceneActivationBehaviour <ToolbarUIActivator> .Instance.ShowHandAnimation(true, GameConstants.Ftue.SixthGame.HandAnimations.Hand6_1); ftueController.SendFtueProgress("Game6UseHint_42"); overlayUISceneActivator.SubscribeHintTap(() => { ftueController.SendFtueProgress("CantUndo_43"); overlayUISceneActivator.HideFtueMessages(); SceneActivationBehaviour <ToolbarUIActivator> .Instance.ShowHandAnimation(false); SceneActivationBehaviour <ToolbarUIActivator> .Instance.ForceHintFtue(new Vector2(4, 2)); StartCoroutine(WaitForHintAnimation(() => { overlayUISceneActivator.ShowFtueGameplayMessage(GameConstants.Ftue.SixthGame.FtueMessages.Instructions6_2, true, true, 0, true, 0, false); overlayUISceneActivator.SubscribeForFullScreenTap(() => { ftueController.PersistHintTipUse(player); overlayUISceneActivator.ftueMessagesPerStage = 0; gameplay.StartDelayedSession(true); boardCreationScript.UnblockAllCells(); overlayUISceneActivator.HideFtueMessages(); gameplay.OnPuzzleSolved += gameData => { int i = int.Parse(gameData.Ruleset.Id); ftueController.ProceedToGameOverAward(player, i); ftueController.SendFtueProgress("Game6Complete_44"); }; }); })); }); } else { SceneActivationBehaviour <TopBarUIActivator> .Instance.SetButtons(false); overlayUISceneActivator.ftueMessagesPerStage = 0; gameplay.StartDelayedSession(true); boardCreationScript.UnblockAllCells(); gameplay.OnPuzzleSolved += gameData => { int i = int.Parse(gameData.Ruleset.Id); ftueController.ProceedToGameOverAward(player, i); ftueController.SendFtueProgress("Game6Complete_44"); }; } }
public void StartGame(Player player, RuleSettings selectedRuleset, FtueController ftueController, SessionScript sessionScript, OverlayUISceneActivator overlayUISceneActivator) { print("[FTUE] Fifth ftue game started "); InterfaceController.Instance.Show(GameWindow.OverlayUIScene); InterfaceController.Instance.Hide(GameWindow.MainMenu); SceneActivationBehaviour <TopBarUIActivator> .Instance.SetButtons(false); GameplayScript gameplay = sessionScript.CreateGameAndStart(player, selectedRuleset); BoardCreationScript boardCreationScript = gameplay.GetComponent <BoardCreationScript>(); GridLabelManager gridLabelManager = boardCreationScript.gameObject.GetComponent <GridLabelManager>(); InterfaceController.Instance.Show(GameWindow.ToolbarUI); SceneActivationBehaviour <ToolbarUIActivator> .Instance.ToolToggle.interactable = false; boardCreationScript.BlockAllCells(); overlayUISceneActivator.ShowFtueGameplayMessage(GameConstants.Ftue.FifthGame.FtueMessages.Instructions5_1, true, true, 0, true); ftueController.SendFtueProgress("Game5CantTell_31"); boardCreationScript.HighlightCells(true, GameConstants.Ftue.FifthGame.HighlightCellAnimations.HighlightCells5_1); overlayUISceneActivator.SubscribeForFullScreenTap(() => { ftueController.SendFtueProgress("ThreeCorrect_32"); overlayUISceneActivator.ShowFtueGameplayMessage(GameConstants.Ftue.FifthGame.FtueMessages.Instructions5_2, true); boardCreationScript.HighlightCells(false); boardCreationScript.BlockCellsToBeSelected(GameConstants.Ftue.FifthGame.TargetCellVectors.TargetCells5_2); ftueController.ListenForCurrentFtueCellSelection(gameplay, GameConstants.Ftue.FifthGame.TargetCellVectors.TargetCells5_2, () => { overlayUISceneActivator.HideFtueMessages(); }, () => { ftueController.SendFtueProgress("LetsFillThese_33"); overlayUISceneActivator.ShowFtueGameplayMessage(GameConstants.Ftue.FifthGame.FtueMessages.Instructions5_3, true); boardCreationScript.BlockCellsToBeSelected(GameConstants.Ftue.FifthGame.TargetCellVectors.TargetCells5_3); ftueController.ListenForCurrentFtueCellSelection(gameplay, GameConstants.Ftue.FifthGame.TargetCellVectors.TargetCells5_3, () => { overlayUISceneActivator.HideFtueMessages(); }, () => { ftueController.SendFtueProgress("FillMore_34"); boardCreationScript.BlockCellsToBeSelected(GameConstants.Ftue.FifthGame.TargetCellVectors.TargetCells5_4); ftueController.ListenForCurrentFtueCellSelection(gameplay, GameConstants.Ftue.FifthGame.TargetCellVectors.TargetCells5_4, () => { // }, () => { ftueController.SendFtueProgress("XTool_35"); overlayUISceneActivator.ShowFtueGameplayMessage(GameConstants.Ftue.FifthGame.FtueMessages.Instructions5_5, true); SceneActivationBehaviour <ToolbarUIActivator> .Instance.ShowHandAnimation(true, GameConstants.Ftue.FifthGame.HandAnimations.Hand5_5); overlayUISceneActivator.SubscribeForToolToggleTap(() => { SceneActivationBehaviour <ToolbarUIActivator> .Instance.ShowHandAnimation(false); SceneActivationBehaviour <ToolbarUIActivator> .Instance.ToggleToCross(); ftueController.SendFtueProgress("LetsCrossRow_36"); StartCoroutine(ShortWait(() => overlayUISceneActivator.ShowFtueGameplayMessage(GameConstants.Ftue.FifthGame.FtueMessages.Instructions5_6, true))); boardCreationScript.HighlightCells(true); gridLabelManager.ShowFtueArrows(new List <int> { 5 }); boardCreationScript.BlockCellsToBeSelected(GameConstants.Ftue.FifthGame.TargetCellVectors.TargetCells5_6); ftueController.ListenForCurrentFtueCellMarking(gameplay, GameConstants.Ftue.FifthGame.TargetCellVectors.TargetCells5_6, () => { ftueController.SendFtueProgress("CoolFewMore_37"); overlayUISceneActivator.ShowFtueGameplayMessage(GameConstants.Ftue.FifthGame.FtueMessages.Instructions5_7, true); gridLabelManager.ShowFtueArrows(new List <int> { 0, 4 }); boardCreationScript.BlockCellsToBeSelected(GameConstants.Ftue.FifthGame.TargetCellVectors.TargetCells5_7); ftueController.ListenForFirstSpecificMarking(gameplay, () => { gridLabelManager.HideSpecificFtueArrow(0); }); ftueController.ListenForSecondSpecificMarking(gameplay, () => { gridLabelManager.HideSpecificFtueArrow(4); }); ftueController.ListenForCurrentFtueCellMarking(gameplay, GameConstants.Ftue.FifthGame.TargetCellVectors.TargetCells5_7, () => { ftueController.SendFtueProgress("RememberTilesNot_38"); overlayUISceneActivator.ShowFtueGameplayMessage(GameConstants.Ftue.FifthGame.FtueMessages.Instructions5_8, true, true, 0, true); boardCreationScript.HighlightCells(false); overlayUISceneActivator.SubscribeForFullScreenTap(() => { ftueController.SendFtueProgress("SelectMarker_39"); overlayUISceneActivator.ShowFtueGameplayMessage(GameConstants.Ftue.FifthGame.FtueMessages.Instructions5_9, true); boardCreationScript.HighlightCells(false); // paint tap animation SceneActivationBehaviour <ToolbarUIActivator> .Instance.ShowHandAnimation(true, GameConstants.Ftue.FifthGame.HandAnimations.Hand5_9); overlayUISceneActivator.SubscribeForToolToggleTap(() => { ftueController.SendFtueProgress("StartGame5_40"); SceneActivationBehaviour <ToolbarUIActivator> .Instance.GameFiveToolToggleTap(); overlayUISceneActivator.HideFtueMessages(); overlayUISceneActivator.ftueMessagesPerStage = 0; gameplay.StartDelayedSession(true); boardCreationScript.UnblockAllCells(); gameplay.OnPuzzleSolved += gameData => { int i = int.Parse(gameData.Ruleset.Id); ftueController.ProceedToGameOverAward(player, i); ftueController.SendFtueProgress("Game5Complete_41"); }; }); }); }); }); }); }); }); }); }); }