View difference between Paste ID: f4ei6MCR and KmS9yxf8
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