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 |