/// <summary>
 ///		Inicializa el ViewModel
 /// </summary>
 public void Init()
 {
     GameBoard       = new GameBoardViewModel(this);
     MovementsList   = new MovementListViewModel(this);
     ComboPathBoard  = new PathComboImagesViewModel(System.IO.Path.Combine(PathApplication, SubPathBoard));
     ComboPathPieces = new PathComboImagesViewModel(System.IO.Path.Combine(PathApplication, SubPathPiecess));
     Load(new ChessGameModel());
 }
 public GameBoardViewModel(MainViewModel mainViewModel)
 {
     // Inicializa los objetos
     MainViewModel = mainViewModel;
     Scapes        = new Scapes.ScapesBoardViewModel(this);
     MovementsList = new MovementListViewModel(this);
     // Inicializa los comandos
     NextMovementCommand = new Mvvm.BaseCommand(parameter => GoNextMovement(),
                                                parameter => CanGoMovement(true))
                           .AddListener(this, nameof(ActualMovementIndex))
                           .AddListener(this, nameof(IsMoving))
                           .AddListener(this, nameof(IsAtVariation));
     PreviousMovementCommand = new Mvvm.BaseCommand(parameter => GoPreviousMovement(),
                                                    parameter => CanGoMovement(false))
                               .AddListener(this, nameof(ActualMovementIndex))
                               .AddListener(this, nameof(IsMoving))
                               .AddListener(this, nameof(IsAtVariation));
     VariationExitCommand = new Mvvm.BaseCommand(parameter => ExitVariation(),
                                                 parameter => CanExitVariation())
                            .AddListener(this, nameof(ActualMovementIndex))
                            .AddListener(this, nameof(IsMoving))
                            .AddListener(this, nameof(IsAtVariation));
 }