Diskuze: C# a Unity - začátek GameManagera
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Z kódu, ktorý si nám sem postol toho veľa nevyčítame ani my - vidíme síce, že GameManager si uloží odkaz na svoju inštanciu ("sám na seba") do statickej, čiže triednej premennej (pravdepodobne teda nejde o žiadne "prebúdzanie" ako si to nazval), ale bez toho, aby sme videli ďalší kód tejto triedy nedokážem povedať, načo vlastne ten statický odkaz slúži. Hodilo by sa vidieť metódy, ktoré s premennou instance nejakým spôsobom pracujú.
Môj osobný predpoklad ale je, že sa pozeráme na implementáciu návrhového vzoru singleton a statický odkaz na inštanciu GameMakeru slúži na zabezpečenie toho, aby existovala / používala sa len jedna inštancia. Ale to je len môj "gut feeling", bez zvyšku kódu ti nič povedať neviem, ani to, či je môj predpoklad správny alebo nie.
Aha. Máš pravdu. Hledal jsem ve scriptech, jestli s tou instancí něco pracuje, jak jsi psal. V tom GameManageru už není o jeho instanci ani zmínka, proto jsem si říkal, že to má asi nějakou probouzecí funkci. Ale našel jsem ho v kódech ostatních scriptů (scriptů šachových figur apod.) Tak si to zkusím nastudovat, jak je tam použitý. Moc dík.
Ale i tak, protože je instance umístěna v Awake, což je v překladu Probudit, tak mi to evokuje, že to má i něco s probuzením v programu....
Je to singleton. Tak se jdu učit, co to je.....
V terminológii, ktorú si zaviedlo Unity je Awake niečo ako udalosť v
engine, podobne ako Start, Update, LateUpdate atď. Awake sa volá awake preto,
že sa volá vtedy, keď sa "spúšta" alebo "prebúdza" celá hra, nie že by
sa vo vnútri metódy Awake mali nejako "prebúdzať" iné objekty Odporúčam prejsť si dodatočne
ešte dokumentáciu.
Čiastočne si sa ale trafil, do Awake sa umiestňuje rôzny kód slúžiaci pre inicializáciu, ktorá je nutná na to, aby daný skript po zvyšok hry správne fungoval (teda, časť inicializačného kódu zvykne byť v Awake a čast v Start).
Zobrazeno 6 zpráv z 6.