Oppitunti 20 - Game Manager

Tällä oppitunnilla teemme Game Managerin, jotta viime tunnilla tekemämme Board Manager scripti voidaan ladata. Game Managerista teemme singleton instanssin eli ilmentymän.  Instanssi eli ilmentymä tai esiintymä on tietojenkäsittelytieteessä käytetty termi, jolla tarkoitetaan olio-ohjelmoinnissa luokan edustajaa. Koska Game Manager on singleton, se voidaan ladata pelin käynnistyessä vain kerran. Tämä tehdään sen vuoksi, että GameManager lataa pelikenttiä ja hoitaa pisteytyksen.

Tehtävä 1 - Game Manager script

 

1. Raahaa BoardManager- ja GameManager -scriptit GameManager peliobjektiin

2. Avaa GameManager scripti ja kirjoita seuraava koodi:

Tehtävä 2 - GameManager Unityssä

 

1. Mene Unityyn

2. Laita inspector-ikkunasta GameManager lukkoon, jotta voit raahata sinne objekteja

3. Mene Prefabs-kansioon ja siirrä Exit-prefab kohtaan, jossa lukee exit. Katso gif-animaatio alta:

4. Shift-klikkaa kaikki kahdeksan floor-prefabia ja siirrä ne Floor Tiles -kohtaan. Katso esimerkki alta:

5. Shift-klikkaa kahdeksan wall-prefabia ja siirrä ne Wall Tiles -kohtaan.

6. Food Tilesiin tulee food ja soda prefabit. Koska ne ovat toisistaan erillään, niin käytä ctrl-kikkausta eli pidät ctrl:ia pohjassa ja klikkaat prefabeja. Mäkillä sama toiminto tulee, kun pidät cmd nappia pohjassa ja klikkaat prefabeja. Siirrä food ja soda kohtaan, jossa lukee Food Tiles.

7. Shift-klikkaa kaksi Enemy-prefabia ja siirrä ne Enemy Tiles kohtaan

8. Shift-klikkaa kaikki kolme outerwall-prefabia ja siirrä ne Outer Wall Tiles kohtaan

9. Mene Main Camera peliobjektiin Hierarcyssä. Säädä Inspectorissa Positionin x- ja y-arvoiksi 3.5, z-arvoksi -20 ja taustaväriksi musta.

10. Paina Play. Jos kaikki on mennyt niin kuin pitää, niin sinulla pitäisi näkyä alla olevan näköinen kenttä. Kentän ulkonäkö tosin voi hiukan vaihdella, koska kentät generoidaan niitä ladattaessa, mutta kaikki elementit eli vastustaja tai vastustajat, ruoka- ja soda-objektit, sekä seinät pitäisi olla nyt paikallaan.

11. Raahaa GameManager peliobjekti Prefabs-kansioon tehdäksesi siitä prefabin.

12. Tallenna projektisi

 

Tehtävä 3 - Loader

 

Tässä tehtävässä luodaan Loader scripti, jonka tehtävänä on tarkistaa onko GameManager instanssi luotu. Huomaa, että voimme viitata GameManager instanssiin suoraan kirjoittamalla GameManager.instance. Null tarkoittaa tietojenkäsittelytieteessä tyhjää muistipaikkaa.

 

1. Mene Scrips-kansioon ja luo uusi scripti, jolle annat nimeksi Loader

2. Avaa Loader scripti ja kirjoita seuraava koodi:

3. Nyt emme enää tarvise GameManager peliobjektia Hierarcy-ikkunassa, joten voimme poistaa sen, koska prefab on tallessa.

4. Avaa Hierarcystä Main Camera peliobjekti

5. Raahaa Loader scripti Main Cameran Inspector ikkunaan ja raahaa GameManager prefab Loader (scriptin) kohtaan, jossa lukee Game Manager. Katso gif-animaatio alta:

6. Paina Play ja tarkista, että kaikki toimii niin kuin pitää

7. Tallenna Projektisi valitsemalla File -> Save ja tämän jälkeen vielä File -> Save Project

Suomen Tiedekoulu Oy