Example #1
0
        /// <summary>
        /// Set valid positions as active
        /// </summary>
        public void ValidatePositions()
        {
            ValidPositions
            .Where(vp => vp.X > GridLayer.ColumnDefinitions.Count ||
                   vp.Y > GridLayer.RowDefinitions.Count)
            .ToList()
            .ForEach(vp => ValidPositions.Remove(vp));

            GridLayer.Placeholders
            .ToList()
            .ForEach(p => p.IsActive = false);

            GridLayer.Placeholders
            .Where(p => ValidPositions.Contains(p.Position))
            .ToList()
            .ForEach(p => p.IsActive = true);

            if (!AllowOccupiedPositions)
            {
                GridLayer.Placeholders
                .Where(p => GetLayerData(p.Position) != null)
                .ToList()
                .ForEach(p => p.IsActive = false);
            }
        }
    protected Boolean IsMovimentCorrect(Coordinates oldCoordinate
                                        , Coordinates newCoordinate)
    {
        int movimentPosition = ValidPositions.IndexOf(oldCoordinate);

        if (movimentPosition != -1)
        {
            foreach (Coordinates oldC in ValidPositionMoviments[movimentPosition])
            {
                if (oldC.Position == newCoordinate.Position)
                {
                    return(true);
                }
            }
        }

        return(false);
    }
Example #3
0
 private void SimulateAttack(bool highlight)
 {
     ValidPositions?.ForEach(p => SimulateAttack(highlight, p, this.DeltaHealth, this.Knockback, true));
 }
 public bool IsPositionValid(string position)
 {
     return(ValidPositions.Exists(delegate(Coordinates coordinates)
                                  { return coordinates.Position.Equals(position); }));
 }
Example #5
0
 public override void Execute()
 {
     SimulateAttack(false);
     ValidPositions?.ForEach(p => AttackPositions(p));
     this.IsActive(false);
 }