void StartGame() { levelManager.Setup(); roundManager = new RoundManager(hud, levelManager, resources); roundManager.OnGameOver += EndGame; roundManager.StartNewRound(); }
void EndGame() { Global.gEnv.pLog.LogToConsole("Game Over!"); roundManager.RoundOver -= EndGame; host.Destroy(); hud.Destroy(); roundManager = null; resources = null; hud = null; GameOver?.Invoke(); }
void OnLevelLoadComplete(EventArgs <ILevelInfo> arg) { // Create objects and inject dependencies host = GameObject.Instantiate <GameObject>(); resources = new Resources(); hud = SceneObject.Instantiate <UiHud>(Root); var inventory = host.AddComponent <Inventory>(); inventory.Setup(resources); roundManager = host.AddComponent <RoundManager>(); roundManager.Setup(hud, resources); roundManager.RoundOver += EndGame; new ManagedEntityTest(); StartGame(); }