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); }