Страница 1 из 1

Какой-та баг, не знаю, как описать)

СообщениеДобавлено: 25 фев 2019, 19:10
DimaJoke
Здравствуйте! Продолжаю писать ИИ.
На данный момент есть такая проблема:
Пытаюсь сделать так, что бы юнит, видя, что комната, в которой он находится, горит, он быстренько в словаре <int, Room> искал НЕ горящую комнату и бежал в неё, а именно в узел, который находится в ней.

Вот такой у меня код:
Синтаксис:
Используется csharp
 public void RunOutRoom()
   {
      //Поиск не горящей комнаты и следование в неё
      for(int i = 0; i < 1000; i++)
      {
         if(NavigationObjects.Rooms.ContainsKey(i))
         {
            if(!NavigationObjects.Rooms[i].OnFire)
            {
               StartMove(NavigationObjects.Rooms[i].Node.ID);
               break;
            }
         }
      }
   }
 


но проблема в том, что он всегда бежит в одну и ту же комнату, а если эта комната в огне, то смиренно сгорает, не сдвинувшись с места....

Не понимаю, что не так. Помогите, пожалуйста!

Re: Какой-та баг, не знаю, как описать)

СообщениеДобавлено: 25 фев 2019, 19:51
1max1
Тут явно проблема не в поиске. Возможно в методе StartMove?

Re: Какой-та баг, не знаю, как описать)

СообщениеДобавлено: 25 фев 2019, 20:19
Jarico
DimaJoke писал(а):но проблема в том, что он всегда бежит в одну и ту же комнату, а если эта комната в огне, то смиренно сгорает, не сдвинувшись с места....


Почему тема пожара? Ты случайно не в засвияжском р-не живёшь?

Re: Какой-та баг, не знаю, как описать)

СообщениеДобавлено: 25 фев 2019, 21:22
DimaJoke
Jarico писал(а):
DimaJoke писал(а):но проблема в том, что он всегда бежит в одну и ту же комнату, а если эта комната в огне, то смиренно сгорает, не сдвинувшись с места....


Почему тема пожара? Ты случайно не в засвияжском р-не живёшь?

Нет, в НГ)

.... За мной уже выехали?/

Re: Какой-та баг, не знаю, как описать)

СообщениеДобавлено: 25 фев 2019, 21:23
DimaJoke
1max1 писал(а):Тут явно проблема не в поиске. Возможно в методе StartMove?

Нет, не в методе StartMove точно. Я уже проверял, просто вызывая его и тем самым отправляя юнита к узлу с ID, который я указал.

Re: Какой-та баг, не знаю, как описать)

СообщениеДобавлено: 25 фев 2019, 23:15
Friend123
Навесил брейкпоинтов, да проверил, что в массиве творится - может OnFire тру/фелс или еще что.. Быстро найдется проблема.

Re: Какой-та баг, не знаю, как описать)

СообщениеДобавлено: 25 фев 2019, 23:27
Jarico
DimaJoke писал(а):.... За мной уже выехали?/


АУЕшники не дремлют

Re: Какой-та баг, не знаю, как описать)

СообщениеДобавлено: 25 фев 2019, 23:32
DimaJoke
Jarico писал(а):
DimaJoke писал(а):.... За мной уже выехали?/


АУЕшники не дремлют

Всё, тикаю с городу!!

Re: Какой-та баг, не знаю, как описать)

СообщениеДобавлено: 26 фев 2019, 23:52
Cr0c
Могу посоветовать использовать волновой поиск пути к негорящей комнате (чтобы бежал не к первой, которая может быть на другом конце карты, а к ближайшей)

Re: Какой-та баг, не знаю, как описать)

СообщениеДобавлено: 27 фев 2019, 10:10
DimaJoke
Cr0c писал(а):Могу посоветовать использовать волновой поиск пути к негорящей комнате (чтобы бежал не к первой, которая может быть на другом конце карты, а к ближайшей)

Хм, ну да, логично!

Re: Какой-та баг, не знаю, как описать)

СообщениеДобавлено: 27 фев 2019, 10:14
DimaJoke
Кароче баг был в том, что я искал комнаты по тэгам, которые я ставил в Start() через скрипт(я ленивая жопа, да) и дело в том, что в том же Start() я заполнял словарь комнат.. теперь тэги ставятся в Asake() и всё работает