Ошибки поколения Unity2D мира - PullRequest
0 голосов
/ 06 апреля 2020

Я уже некоторое время пытаюсь создать пользовательскую форму генерации мира для своей игры на Unity2D, и я застрял на одном ее аспекте. Цель состоит в том, чтобы разместить главную комнату, заблокировать определенные направления, разместить комнаты в незаблокированных зонах, а затем предотвратить блокировку новой комнаты предыдущей комнатой. Когда он выходит из строя, это когда два ответвления основной комнаты пытаются разместить комнату в одном месте. У меня есть код, чтобы уничтожить вторую помещенную комнату, которая работает, но добавление одного из блокировщиков в первую комнату не помогает. Я испробовал несколько разных методов, и, похоже, нынешний способ приблизил меня к успеху. Основной фрагмент кода, который наиболее вероятно вызывает ошибку, находится здесь:

        foreach (GameObject room in rooms)
        {
            if (room != this.gameObject && room.transform.position == transform.position) //Checking if any rooms coincide with this room
            {
                if (room.gameObject.name == "Outdoor Room")
                {
                    Destroy(this.gameObject);
                    break;
                }
                if (room.GetComponent<OutdoorRoom>().dir == "U")
                {
                    Debug.Log("test");
                    exits += "S";
                }
                if (room.GetComponent<OutdoorRoom>().dir == "D")
                {
                    Debug.Log("test");
                    exits += "N";
                }
                if (room.GetComponent<OutdoorRoom>().dir == "L")
                {
                    Debug.Log("test");
                    exits += "E";
                }
                if (room.GetComponent<OutdoorRoom>().dir == "R")
                {
                    Debug.Log("test");
                    exits += "W";
                }
                Destroy(room);
            }
        }

Весь сценарий здесь: https://paste.mod.gg/olewesapik.cs Я могу ответить на любые ваши вопросы по этому поводу. Спасибо, что нашли время ответить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...