Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.SceneManagement;
- using System;
- using System.IO;
- public class GameManager : MonoBehaviour
- {
- public GameObject buttonRestart;
- public GameObject gameOverImage;
- public GameObject grid;
- HealthBar h;
- public enum GameManagerState
- {
- GamePlay,
- GameOver,
- }
- GameManagerState GMState;
- public GameManagerState getState()
- {
- return GMState;
- }
- private void Awake()
- {
- GameObject healthBar = GameObject.Find("HealthBar");
- h = healthBar.GetComponent<HealthBar>();
- }
- void Start()
- {
- GMState = GameManagerState.GamePlay;
- UpdateGameManagerState();
- }
- void Update()
- {
- if (GMState == GameManagerState.GamePlay)
- if (HealthBar.gameOver == true)
- {
- GMState = GameManagerState.GameOver;
- UpdateGameManagerState();
- }
- if (GMState == GameManagerState.GameOver)
- if (Input.GetKeyDown(KeyCode.R))
- {
- GMState = GameManagerState.GamePlay;
- UpdateGameManagerState();
- }
- }
- void UpdateGameManagerState()
- {
- switch (GMState)
- {
- case GameManagerState.GamePlay:
- if (Time.timeScale == 0.0f)
- Time.timeScale = 1.0f;
- h.ResetHealth();
- GridGenerator gridScript = grid.GetComponent<GridGenerator>();
- if (gridScript.gridGenerated == true)
- {
- Destroy(gridScript.player);
- for (int i = 0; i < gridScript.roomList.Capacity; i++)
- Destroy(gridScript.roomList[i]);
- }
- grid.GetComponent<GridGenerator>().GenerateGrid();
- gameOverImage.SetActive(false);
- break;
- case GameManagerState.GameOver:
- Time.timeScale = 0.0f;
- gameOverImage.SetActive(true);
- break;
- }
- }
- public void SetGameManagerState(GameManagerState state)
- {
- GMState = state;
- UpdateGameManagerState();
- }
- public void GameOver()
- {
- GMState = GameManagerState.GamePlay;
- UpdateGameManagerState();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement