void SetupBoardController(BoardController bc, Puzzle puzzle) { bc.SetGame(puzzle.NewGame()); bc.PauseInput(); if (lm.PuzzleUnlocked(puzzle)) { bc.OnClick += controller => { StartPuzzle(puzzle); } } ; } BoardController CreateBoardController(float y) { return(boardInstantiator.Instantiate( new Vector3(y, 0, 0), new Vector3(boardWidth, boardWidth, 1), parent.transform)); } void StartPuzzle(Puzzle puzzle) { Debug.LogFormat("StartPuzzle {0}", puzzle); var gsc = new GameSceneConstructor(puzzle); gsc.Goto(); } }