Ejemplo n.º 1
0
        /// <summary>
        ///		Coloca la partida en un movimiento
        /// </summary>
        internal void GoToMovement(MovementFigureViewModel movementViewModel)
        {
            bool end = false;
            List <ActionBaseModel> actions = new List <ActionBaseModel>();

            // Limpia el tablero
            Reset();
            // Realiza los movimientos
            while (!end)
            {
                MovementFigureModel movement = GetNextMovement();

                if (movement == null)
                {
                    end = true;
                }
                else
                {
                    // Acumula las acciones
                    actions.AddRange(MakeMovement(movement));
                    // Si estamos en el movimiento buscado, terminamos
                    if (movementViewModel.Movement == ActualMovement || ActualMovementIndex >= ActualVariationGame.Movements.Count)
                    {
                        // Selecciona el movimiento en la lista
                        MovementsList.SelectMovement(ActualMovement);
                        // Indica que ha terminado
                        end = true;
                    }
                }
            }
            // Ejecuta las acciones
            RaiseEventShowMovements(actions, false);
        }
Ejemplo n.º 2
0
 /// <summary>
 ///		Reorre los movimientos hasta encontrar el buscado
 /// </summary>
 internal void MoveTo(MovementFigureViewModel movementFigureViewModel)
 {
     MovementsList.MoveTo(movementFigureViewModel);
 }