Beispiel #1
0
        public virtual void OnNavigatedTo(object parameter)
        {
            firstNavigatedToOcurred = true;

            PositionLoadOptions positionLoadOptions = parameter as PositionLoadOptions;

            if (positionLoadOptions != null)
            {
                LoadPosition(positionLoadOptions);
            }
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            PositionLoadOptions positionLoadOptions = e.Parameter as PositionLoadOptions;

            if (positionLoadOptions != null)
            {
                ((EditPositionViewModel)DataContext).OnPageNavigatedTo(positionLoadOptions);
            }

            base.OnNavigatedTo(e);
        }
Beispiel #3
0
        public void OnPageNavigatedTo(PositionLoadOptions loadOptions)
        {
            if (loadOptions.SerializationType != BoardSerializationType.FEN)
            {
                throw new ArgumentException("Use FEN serialization for edit board loading.");
            }

            editorBoardService.LoadFrom(loadOptions.SerializedBoard);
            BoardViewModel.RefreshBoard(loadOptions.Perspective);
            IsWhiteToMove = editorBoardService.IsWhiteTurn;
            IsBoardValid  = editorBoardService.AcceptEditedPosition();
        }
Beispiel #4
0
        public virtual void LoadPosition(PositionLoadOptions positionLoadOptions)
        {
            if (String.IsNullOrEmpty(positionLoadOptions.SerializedBoard))
            {
                boardService.ResetBoard();
            }
            else
            {
                boardService.LoadFrom(positionLoadOptions.SerializedBoard, positionLoadOptions.CurrentMoveIndex);
            }

            ReloadBoard(positionLoadOptions.Perspective);
        }
Beispiel #5
0
        public PositionLoadOptions GetPositionLoadOptions(BoardSerializationType serializationType, bool stopOnCurrent = true)
        {
            PositionLoadOptions result = new PositionLoadOptions()
            {
                SerializedBoard   = boardService.Serialize(serializationType, stopOnCurrent),
                SerializationType = serializationType,
                Perspective       = BoardViewModel.Perspective,
            };

            MoveData currentMove = boardService.GetCurrentMove();

            if (currentMove != null)
            {
                result.CurrentMoveIndex = currentMove.Index;
            }

            return(result);
        }
 public override void LoadPosition(PositionLoadOptions positionLoadOptions)
 {
     base.LoadPosition(positionLoadOptions);
     UserColor = positionLoadOptions.Perspective;
 }