Beispiel #1
0
        public AbilityResult Perform(IMapAbilityView map, Point coords)
        {
            var ships = map.GetShipsAround(coords);
            var myColor = Game.Instance().CurrentPlayer.Color;

            var result = new AbilityResult{Name = AbilityName.Heal, Invoker = coords};

            foreach (var ship in ships.Where(ship => ship.Color == myColor && ship.Health < ship.MaxHealth))
            {
                result.Area.Add(map.GetShipPosition(ship));
                ship.Health += Consts.HEAL_POWER;
            }

            return result;
        }
Beispiel #2
0
 //this.List<AbilityResult> a = new ...
 public void AddAbilityToDraw(AbilityResult abilityResult)
 {
     //a.Add
 }
Beispiel #3
0
        public void HealDockedShips()
        {
            foreach (var station in GetStations())
            {
                var coord = GetStationPosition(station);
                var ship = GetShipFromPoint(coord);

                if (ship != null && ship.Color == Game.Instance().CurrentPlayer.Color && ship.Health < ship.MaxHealth)
                    ship.Health += Consts.STATION_HEAL_POWER;

                var result = new AbilityResult { Name = AbilityName.Heal };
                result.Area.Add(coord);

                Drawer.Instance().AddAbilityToDraw(result);
            }
        }