giganciprogramowania

GameManager l15

May 10th, 2023 (edited)
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.  
Add Comment
Please, Sign In to add comment