SHADE_Y3/Assets/Scripts/Gameplay/SC_GameManager.cs

67 lines
1.3 KiB
C#

using SHADE;
using System;
using System.Collections.Generic;
public class GameManager : Script
{
public enum GameState
{
START,
WIN,
LOSE
}
public GameObject itemPool;
public GameObject zonePool;
[NonSerialized]
public GameState currGameState;
[NonSerialized]
public int totalItemCount;
[NonSerialized]
public int Score;
[NonSerialized]
public float timer;
private IEnumerable<Item> listOfItems;
private IEnumerable<ScoringZone> listOfZone;
protected override void awake()
{
totalItemCount = 0;
Score = 0;
currGameState = GameState.START;
if (itemPool)
{
listOfItems = itemPool.GetScriptsInChildren<Item>();
if (listOfItems != null)
foreach (Item i in listOfItems)
totalItemCount += 1;
}
if (zonePool)
{
listOfZone = zonePool.GetScriptsInChildren<ScoringZone>();
if (listOfZone != null)
foreach (ScoringZone sz in listOfZone)
sz.gameManger = Owner.GetScript<GameManager>();
}
}
protected override void update()
{
if (timer > 0 && currGameState == GameState.START)
{
timer -= Time.DeltaTimeF;
if (totalItemCount <= 0)
{
currGameState = GameState.WIN;
}
}
else
currGameState = GameState.LOSE;
}
}