public void SetupGameplay() { m_referenceImage = m_gameplay.ReferenceImage; var initialColor = m_referenceImage.Colors[0]; var imageProgress = m_gameplay.ImageProgress; m_boardInputController.BoardTileTapped += HandleBoardTileTapped; m_hud.Init(m_referenceImage.Colors); m_hud.SetPaleteButtonColor(initialColor); m_hud.PreviewPressed += HandlePreviewPressed; m_hud.PreviewReleased += HandlePreviewReleased; m_hud.PaletteClicked += HandlePaletteClicked; m_hud.PauseClicked += HandlePauseClicked; m_hud.CheatFillColorsClicked += HandleCheatFillColorsClicked; m_board.PreviewEnded += HandleBoardPreviewEnded; m_board.SetReferenceImage(m_referenceImage.Texture); m_board.SetSize(imageProgress.Width, imageProgress.Height); m_board.SetTiles(m_gameplay.ImageProgress.GetTiles()); m_board.HidePreview(); m_hud.m_palette.ColorClicked += HandleColorClicked; m_hud.m_palette.SetActiveColor(initialColor); m_hud.m_tileProgress.SetMax(m_gameplay.ImageProgress.TotalTiles); m_hud.m_tileProgress.SetCurrent(m_gameplay.ImageProgress.RevealedTiles); m_hud.m_cheatRevealImage.gameObject.SetActive(GameSettings.DevBuild); m_hud.m_palette.PaletteShown += PaletteShown; m_hud.m_palette.PaletteClosed += PaletteClosed; m_pauseView.ResumeClicked += HandlePauseViewResumeClicked; m_pauseView.BackToMenuClicked += HandlePauseViewBackToMenuClicked; m_pauseView.OptionsClicked += HandlePauseViewOptionsClicked; m_pauseView.Hide(); m_summaryView.BackToMenuClicked += HandleBackToMenuClicked; m_summaryView.Hide(); m_summaryController = new SummaryController(m_board, m_summaryView, m_gameplay, m_boardInputController); m_bonusController = new BonusController(); m_bonusController.Init(m_gameplay, m_bonusView, m_hud); m_tutorialView.Hide(); if (m_gameplay.IsTutorialImage) { m_tutorial = new TutorialController(); m_tutorial.Init(m_tutorialView, this); } var imageViewData = LevelsScene.CreateImageViewData(m_referenceImage, m_gameplay.BundleId); m_boardInputController.PauseInput(); m_board.SetScale(Vector2.zero, m_board.MinScale); m_board.SetLocalPosition(Vector2.zero); m_levelIntroView.Finished += HandleLevelIntroViewFinished; m_levelIntroView.Show(imageViewData); }