Как найти по коду родительный обьект родительного обьекта

Программирование на Юнити.

Как найти по коду родительный обьект родительного обьекта

Сообщение ThePickAssO 12 июн 2019, 15:51

Как найти по коду родительный обьект родительного обьекта? Нужно найти 9 родитель, в примере это обьект "Enemy", дочерний откуда идет поиск WeaponPlace, вариант поиска по тегу и названию потому что таких обьектов будет много а мне необходим именно родитель каждого в частности
Изображение
ThePickAssO
UNец
 
Сообщения: 3
Зарегистрирован: 12 июн 2019, 15:44

Re: Как найти по коду родительный обьект родительного обьекта

Сообщение ThePickAssO 12 июн 2019, 16:48

У меня есть вариант, который не очень похож на правильный но:
Синтаксис:
Используется csharp
gameObject.transform.parent.transform.parent.transform.parent.transform.parent.transform.parent.transform.parent

Итак далее.
ThePickAssO
UNец
 
Сообщения: 3
Зарегистрирован: 12 июн 2019, 15:44

Re: Как найти по коду родительный обьект родительного обьекта

Сообщение 1max1 12 июн 2019, 17:22

ThePickAssO писал(а):У меня есть вариант, который не очень похож на правильный но:
Синтаксис:
Используется csharp
gameObject.transform.parent.transform.parent.transform.parent.transform.parent.transform.parent.transform.parent

Итак далее.

=))

Синтаксис:
Используется csharp
static class EX
{
    public static Transform FindTopParent(this Transform me, string parentName)
    {
        Transform parent = me.parent;

        if (parent != null && parent.name != parentName)
        {
            return parent.FindTopParent(parentName);
        }
        else
            return parent;
    }

}

transform.FindTopParent("name");
Или если это корневой объект просто transform.root.
t.me/realwar_fx
Аватара пользователя
1max1
Адепт
 
Сообщения: 2467
Зарегистрирован: 28 июн 2017, 10:51

Re: Как найти по коду родительный обьект родительного обьекта

Сообщение ThePickAssO 12 июн 2019, 19:02

1max1 писал(а):
ThePickAssO писал(а):У меня есть вариант, который не очень похож на правильный но:
Синтаксис:
Используется csharp
gameObject.transform.parent.transform.parent.transform.parent.transform.parent.transform.parent.transform.parent

Итак далее.

=))

Синтаксис:
Используется csharp
static class EX
{
    public static Transform FindTopParent(this Transform me, string parentName)
    {
        Transform parent = me.parent;

        if (parent != null && parent.name != parentName)
        {
            return parent.FindTopParent(parentName);
        }
        else
            return parent;
    }

}

transform.FindTopParent("name");
Или если это корневой объект просто transform.root.


Спасибо))
ThePickAssO
UNец
 
Сообщения: 3
Зарегистрирован: 12 июн 2019, 15:44


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4