OOP Unitys

Objektidele viitamise meetodid

Objektidele saab viidata erinevatel viisidel.

Lahtrisse vedamine

Kasutades GameObject.GetComponent funktsiooni

Static classes ehk staatilised klassid

Olenevalt situatsioonist, võib staatiliste klasside kasutus Unitys tulla mängu arendades kasuks. Staatilised klassid, erinevalt GameObject'ite külge kinnituvatest MonoBehaviour'i tüüpi klassidest, on klassid, kus defineeritud muutujaid on ainult üks koopia. Näiteks, oletame, et vaenlaste koopiate küljes on MonoBehaviour tüüpi klass, mis salvestab nende hp skoori. Vastaseid ja nende klasse on mitu koopiat ja need saavad olla erinevate parameetritega, st kui ühe vaenlase hp väheneb, teiste oma jääb samaks. Kui MonoBehaviour'i parameetri asemel juhinduks hp skoor static class'i parameetrist, oleks kõikide vastaste hp sama. Seega hp skoor pole miski, mida oleks mõistlik salvestada ühe staatilise väärtusena, kuid siiski on väärtuseid, mida oleks mõistlik salvestada üheainsa väärtusena. Näiteks, kui mängijaid on üks, salvestada mängija hp skoor ühe väärtusena, sest stseeni vahetades tekiks olukord, kus hp skoor ei jääks samaks. Teisisõnu staatilised klassid on Unitys head mingite väärtuste salvestamiseks, nii et need väärtused, nagu skoor,  ühe mängija hp, inventaari parameetrid, salvestuksid stseenidevahelisel liikumisel.

Staatilise klassi deklareerimine

Staatiline klass, erinevalt varasemalt õpitud MonoBehaviour klassist, deklareeritakse teisiti ning see ei kinnitu GameObject'itele, vaid jääb Asset's kausta. Selleks, et staatilise klassi väärtustele ligi pääseda, tuleb nende klassile refereerida klassi nimetust kasutades.

Viidata saab otsekohe klassi nime JäävadParameetrid viitamisel. Kui esimesse stseeni on võimalik mängu jooksul tagasi tulla, siis seada määrata mängu algus staatilise bool-väärtusega.

public static võtmesõna on vajalik globaalsete muutujate puhul.

Scriptable objects