какое исключение я должен написать для GameObject.Find ()? - PullRequest
0 голосов
/ 21 февраля 2020

Это код Unity3d c#.

void GenerateBlock()
{
    // find all of integer positions with given min&max elements.
    // param is min_x, max_x, min_y, max_y
    List<Vector2> blocks = RectanglePoint.getPositions(-1, 3, 4, 6);

    GameObject blockParent;

    try
    {
        blockParent = GameObject.Find("Terrain_Parent");
    }
    catch(??)
    {
        blockParent = new GameObject("Terrain_Parent");
    }

    .. code ..
}

Для очистки в иерархии у всех блоков должен быть один родительский менеджер. но при поиске объекта менеджера с помощью метода GameObject.Find, если его нет в мире, я должен создать родительский объект со скриптом.

в этом случае, какой класс исключений я должен написать в (??)? ?

Я пробовал исключение System.NullReferenceException, System.Exception, MissingReferenceException, оно не работает.

1 Ответ

0 голосов
/ 21 февраля 2020

Попробуйте сделать так:

blockParent = GameObject.Find("Terrain_Parent"); // will return null if can't find object 
if (blockParent == null)
{
    blockParent = new GameObject("Terrain_Parent");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...