У меня есть игра Unity, над которой я работаю. В настоящее время он находится в базовом состоянии, но цель состоит в том, чтобы несколько воспроизвести геймплей старого стиля telnet MUDs графическим способом. Строительство карты на этом этапе является ручным, а не автоматическим, хотя это планируется позже. Я могу легко разместить комнаты в 2-й сетке, каждая из целых единиц от друг друга, по оси x и y. Я нахожусь на том этапе, где у меня есть несколько игр Room Room, и у каждого из них есть сценарий C# (давайте назовем скрипт «a_room.cs»). Каждый скрипт имеет общедоступную переменную gameObject для комнат, которые расположены на севере, юге, востоке и западе от этой конкретной «комнаты».Unity C# номера, находящиеся рядом комнаты
Мой вопрос; есть ли способ, чтобы каждая «комната», как во время работы, так и в редакторе, фигурировала сама по себе, какие «комнаты» ближе всего к каждому из своих конкретных направлений? Принимая во внимание, что может быть несколько комнат в определенном направлении и только самое близкое, а также тот факт, что в этом направлении не может быть номеров?
Мне не обязательно нужен код в качестве ответа, логика и важные функции - это то, что мне нужно.
Также; если в этом методе есть что-то вопиющее, то альтернативные предложения приветствуются.
Вы можете пометить каждую из комнат произвольным тегом (скажем, «комната» на данный момент), а затем использовать [this] (http://docs.unity3d.com/ScriptReference/GameObject.FindGameObjectsWithTag. html), чтобы получить список всех комнат, а затем оттуда простая математика, чтобы найти ближайшую комнату в каждом направлении. – Taelsin
Спасибо Taelsin, я собираюсь использовать это вместе с ответом ниже. – Marky