public DefaultApp() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var notifiableView = new NotifiableGameView();; this.view = notifiableView; var board = new SquareBoard(4); var game = new Game(notifiableView, board); this.controller = new DefaultGameController(game); mainWindow = new Window(view, controller); mainWindow.SetEventOnNewImageSelected(ChangePuzzleImage); var outputControl = FindControl(boardOutputControlName); var defaultImage = Image.FromFile(defaultImagePath); var cellFactory = new BoardCellFactory(controller, defaultImage); this.boardRenderer = new BoardRenderer(outputControl, board, cellFactory); view.SetEventOnCellMoved(boardRenderer.SwapCells); view.SetEventOnBoardChanged(boardRenderer.Render); boardRenderer.Render(board); }
private void RegisterAndTriggerMoveEvent() { view.SetEventOnCellMoved(OnCellMoved); gameView.NotifyOnCellMoved(FromPos, ToPos); }