Example #1
0
        public IActionResult CreateRangerShip(Guid id, string name, int index)
        {
            string     type  = "ranger";
            double     X     = Utils.RandomStartX();
            double     Y     = Utils.RandomStartY();
            double     angle = 0;
            int        size  = Ship.ShipSize;
            RangerShip ship  = new RangerShip(id, name, type, index, X, Y, angle, size);

            Game.Instance.AddRangerShip(ship);

            return(Json(ship));
        }
        private RangerShip GetNearestRanger(out double nearestDistance)
        {
            var        rangers       = Game.Instance.RangerShipListActive;
            RangerShip nearestRanger = null;

            nearestDistance = double.MaxValue;

            foreach (var ranger in rangers)
            {
                if (ranger.Stealth == 1)
                {
                    continue;
                }

                var currentDistance = CalculateDistanceToRanger(ranger);
                if (currentDistance < nearestDistance)
                {
                    nearestDistance = currentDistance;
                    nearestRanger   = ranger;
                }
            }

            return(nearestRanger);
        }
        private double CalculateDistanceToRanger(RangerShip ranger)
        {
            var distance = Math.Sqrt(Math.Pow(this.Dominator.GetCenterY - ranger.Y, 2) + Math.Pow(this.Dominator.GetCenterX - ranger.X, 2));

            return(distance);
        }