예제 #1
0
        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];
        }
예제 #2
0
        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];
        }