SHOW:
|
|
- or go back to the newest paste.
| 1 | using System.Collections.Generic; | |
| 2 | using UnityEngine; | |
| 3 | using UnityEngine.SceneManagement; | |
| 4 | ||
| 5 | public class GameManager : MonoBehaviour | |
| 6 | {
| |
| 7 | //Instancja naszego Game Managera | |
| 8 | public static GameManager instance; | |
| 9 | //Lista cegiełek | |
| 10 | public List<GameObject> bricks = new List<GameObject>(); | |
| 11 | //Skrypt naszej kulki | |
| 12 | public ArcanoidBall ball; | |
| 13 | //czy gra trwa | |
| 14 | bool gameRun = false; | |
| 15 | ||
| 16 | void Awake() | |
| 17 | {
| |
| 18 | //Przypisanie obiektu do instancji, stworzeie Singletona | |
| 19 | if(instance == null) | |
| 20 | {
| |
| 21 | instance = this; | |
| 22 | } | |
| 23 | ||
| 24 | //Pobranie wszystkich możliwych cegiełek, szukamy ich po tagu Brick i robimy z nich listę | |
| 25 | bricks.AddRange(GameObject.FindGameObjectsWithTag("Brick"));
| |
| 26 | ||
| 27 | } | |
| 28 | ||
| 29 | void Update() | |
| 30 | {
| |
| 31 | //Jeżeli gra się nie rozpoczeła i klikniemy spację to uruchamiamy piłkę. | |
| 32 | if (Input.GetKeyDown(KeyCode.Space) && !gameRun) | |
| 33 | {
| |
| 34 | ball.RunBall(); | |
| 35 | gameRun = true; | |
| 36 | } | |
| 37 | ||
| 38 | //Jeżeli znikną wszystkie cegiełki kończyy grę | |
| 39 | if(gameRun && bricks.Count == 0) | |
| 40 | {
| |
| 41 | EndGame(true); | |
| 42 | } | |
| 43 | ||
| 44 | //Jeżeli gra skończona, to po naciśnięciu klawisza R zresetujemy scenę | |
| 45 | if(!gameRun) | |
| 46 | {
| |
| 47 | if(Input.GetKeyDown(KeyCode.R)) | |
| 48 | {
| |
| 49 | SceneManager.LoadScene(0); | |
| 50 | } | |
| 51 | } | |
| 52 | } | |
| 53 | ||
| 54 | //Funkcja kończąca grę | |
| 55 | public void EndGame(bool win) | |
| 56 | {
| |
| 57 | gameRun = false; | |
| 58 | string txt = win ? "Wygrana!" : "Przegrana!"; | |
| 59 | Debug.Log(txt); | |
| 60 | ball.StopBall(); | |
| 61 | } | |
| 62 | } | |
| 63 |