Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 public RenderService(BoardControlState sharedBoardControlState)
 {
     this.SharedBoardControlState = sharedBoardControlState;
     _textFormat = new CanvasTextFormat()
     {
         WordWrapping = CanvasWordWrapping.NoWrap
     };
 }
Esempio n. 3
0
 public BoardViewModel(Rectangle rectangle)
     : this()
 {
     BoardControlState = new BoardControlState(rectangle);;
 }
Esempio n. 4
0
 /// <summary>
 /// Initializes BoardViewModel with given board size.
 /// </summary>
 /// <param name="boardSize">Board size</param>
 public BoardViewModel(GameBoardSize boardSize)
     : this()
 {
     BoardControlState = new BoardControlState(boardSize);
 }
Esempio n. 5
0
 public InputService(BoardControlState sharedBoardControlData)
 {
     SharedBoardControlState = sharedBoardControlData;
 }