public async Task MethodWithDelayAsync(int milliseconds) { await Task.Delay(milliseconds); endResearch = true; MapObjects.Remove(objRes); Console.WriteLine("Исследование закончилось 😎😎😎😎"); // ищем ближайщий объект int minIndex = 0; double min = 0; int i = 0; var objOnMap = MapObjects.GetAll <ObjResearch>(); foreach (var minDist in objOnMap) { if (min == 0) { min = TestModule.Distance(submarine, minDist); i++; continue; } if (min > TestModule.Distance(submarine, minDist)) { min = TestModule.Distance(submarine, minDist); minIndex = i; } i++; } objRes = objOnMap[minIndex]; }
protected override void Initialize() { // добавляем регион подводной лодки и подлодку MapObjects.Add(new Region(_leftX, _rightX, _upY, _downY).polygon); MapObjects.Add(new Submarine(new Coordinate(-14000000, -7000000), 5000)); // создаем таймер на создание объектов для исследование каждые 5с Init(); //Получим объект подлодки и объекта для исследования objRes = MapObjects.GetAll <ObjResearch>()[0]; submarine = MapObjects.GetAll <Submarine>()[0]; }