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”:

Tryb debug w inspectorze
Tryb debug w inspectorze

Po włączeniu tego trybu, otrzymamy taki widok:

Okno inspector w trybie debugowania
Okno inspector w trybie debugowania

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:

Skrypt w trybie debugowania
Skrypt w trybie debugowania

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:

Ikonka dla skryptu
Ikonka dla skryptu

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ć.