private async Task InitializeVM(BoardViewModel viewModel) { if (viewModel == null) { return; } ViewModel.NodeChanged += (sender, node) => _currentGameTreeNode = node; _currentGameTreeNode = ViewModel.GameTreeNode; _boardControlState = ViewModel.BoardControlState; _renderService = new RenderService(_boardControlState); _inputService = new InputService(_boardControlState); await RenderService.AwaitResources(); canvas.Draw += canvas_Draw; canvas.Update += canvas_Update; canvas.PointerMoved += canvas_PointerMoved; canvas.PointerPressed += canvas_PointerPressed; canvas.PointerReleased += canvas_PointerReleased; canvas.PointerExited += Canvas_PointerExited; _inputService.PointerTapped += (sender, ev) => ViewModel.BoardTap(ev); }
public RenderService(BoardControlState sharedBoardControlState) { this.SharedBoardControlState = sharedBoardControlState; _textFormat = new CanvasTextFormat() { WordWrapping = CanvasWordWrapping.NoWrap }; }
public BoardViewModel(Rectangle rectangle) : this() { BoardControlState = new BoardControlState(rectangle);; }
/// <summary> /// Initializes BoardViewModel with given board size. /// </summary> /// <param name="boardSize">Board size</param> public BoardViewModel(GameBoardSize boardSize) : this() { BoardControlState = new BoardControlState(boardSize); }
public InputService(BoardControlState sharedBoardControlData) { SharedBoardControlState = sharedBoardControlData; }