Autor Wątek: Jak dodać komponent przy utworzeniu obiektu  (Przeczytany 1214 razy)

Offline g9

  • Użytkownik

# Wrzesień 19, 2014, 21:26:21
Cześć

Mam nadzieję, że uda mi się jakoś zrozumiale sformułować moje pytanie:


Mój problem to: (w C#) mam klasę i tworzę obiekt w skrypcie podczepionym pod gameObject'a (na scenie).

MojaKlasa element = new MojaKlasa();
MojaKlasa() jest w osobnym skrypcie. Chcę aby element dodawał jakiś komponent do gameObject ale nie wiem jak to zrobić bez przekazywania parametru w stylu (GameObject gameObject). Wydaje mi się, że byłoby to niewłaściwe (może się mylę). Czy mogę w wywoływanej klasie automatycznie wiedzieć do czego chcę doczepić komponent i po prostu zrobić

gameObjectKtoryUtworzylElement.AddComponent<...> ();

uff... mam nadzieję, że opisałem to choć trochę zrozumiale. Starałem się. Jak nie to spróbuję jeszcze raz.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Xirdus

  • Redaktor

# Wrzesień 19, 2014, 22:15:23
Klasa tworzona nie ma domyślnie żadnych informacji o tym, kto, gdzie i po co ją utworzył. Trzeba to przekazać ręcznie, innej drogi nie ma.

Choć szczerze mówiąc bardzo dziwne to co chcesz zrobić. Jaki problem chcesz tym rozwiązać?

Offline g9

  • Użytkownik

# Wrzesień 19, 2014, 22:50:41
Dzięki za odpowiedź. Właściwie nie jest to jakiś wielki problem, po prostu wydawało mi się, że można to zrobić bardziej elegancko niż robię to teraz (pewnie można, tylko inaczej :>)

Systematyzuję sobie obsługę plików dźwiękowych wg. różnych typów i dodaję komponent AudioSource do obiektu, który ma odtwarzać dany typ. I teraz przekazuję (gameObject, parametr2, parametr3, ...) podczas tworzenia obiektu co wydaje mi się trochę zbędne skoro to się akurat nigdy nie zmienia ale mogę z tym żyć.

Offline g9

  • Użytkownik

# Październik 01, 2014, 14:51:59
Ok, rozwiązałem swój problem trochę inaczej. Więc jak coś, to pytanie nieaktualne.