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