Unity3d OneLine – problemy, które da się rozwiązać w jednej linii kodu. Dosłownie!
Linia: Zmienne prywatne w inspektorze
Jak pewnie wiecie, w skryptach w Unity jest tak, że wszystkie zmienne publiczne są dostępne do edycji z poziomu inspektora. Natomiast zmienne prywatne, są ukryte i niedostępne do edycji. O ile najczęściej kod jakoś je sobie modyfikuje w trakcie pracy i nie chcemy tego robić ręcznie, o tyle czasami przydaje się znać wartości tych zmiennych. Wtedy z pomocą przychodzi Debug.Log.
Tyle, że gdy zmiennych nieco się nazbiera, konsola robi się tak zapaskudzona na tyle, że przestajemy cokolwiek widzieć. Dlatego nauczymy się wkorzystywać widok debug w oknie inspector. Aby go włączyć, wystarczy kliknąć prawym klawiszem myszki na zakładce “Inspector” i z menu wybrać “Debug”:
Po włączeniu tego trybu, otrzymamy taki widok:
Jak widać, wszystkie zmienne prywatne są widoczne i zaznaczone lekkim wyszarzeniem, aby odróżnić je od zmiennych publicznych.
Wadą jest tutaj fakt, że jeśli skorzystaliśmy z opisanego we wcześniejszych poradnikach nagłówka [Header(“Header Text”)] do poprawienia czytelności zmiennych, w trybie debugowania zostaną one usunięte.
Natomiast, mając włączony tryb debugowania, mamy dostęp do innych ciekawych opcji. Gdy mając wybrany ten tryb, wybierzemy sobie jakiś ze skryptów zobaczymy coś takiego:
Możemy sobie do danego skryptu przypisać ikonę, która potem może pomóc w jego odnalezieniu. Teraz nawet gdy opuścimy tryb debugowania, ikona będzie się wyświetlać zarówno w inspectorze jak i w panelu project:
Dodatkowo w tym trybie, niemal przy każdym rodzaju obiektu mamy do dyspozycji dodatkowe parametry, ukryte normalnie. Czy to gdy wybierzemy materiał, model 3d, plik audio czy animację.
Aha… Instance ID, to ogólne id danego obiektu. Jest całkowicie unikalne. Dwa obiekty w grze (czy to kopie, czy prefaby) nigdy nie będą miały tego samego id. Więc jeśli chcemy jednoznacznie określić obiekt, bez cienia podejrzenia, że odwołujemy się do innego, można się posłużyć tą zmienną. Radzę go nie modyfikować.