using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GameManager : MonoBehaviour
{
public static GameManager Instance;
private float PowerDrainModifier;
public NightManager nightManager;
private void Awake()
{
// Makes Cursor Visible to player
Cursor.visible = true;
}
private void Start() {
// Makes sure only one version of GameManager Exists
PowerDrainModifier = nightManager.BasePowerDrainModifier;
if (Instance == null) {
Instance = this;
}
StartCoroutine(nightManager.RunGame());
}
private void FixedUpdate() {
nightManager.Power -= Time.fixedDeltaTime * PowerDrainModifier;
}
void OnEnable() {
nightManager.HourChange += OnHourChange;
nightManager.PowerChange += OnPowerChange;
nightManager.GameLose += OnGameLoss;
nightManager.GameWin += OnGameWin;
}
private void OnDisable() {
nightManager.HourChange -= OnHourChange;
nightManager.PowerChange -= OnPowerChange;
nightManager.GameLose -= OnGameLoss;
nightManager.GameWin -= OnGameWin;
}
private void OnHourChange(int currentHour) {
Debug.Log("time changed! It's now " + currentHour);
if(currentHour == nightManager.TotalHours) {
;
}
}
private void OnPowerChange(float Power) {
Debug.Log("Current Power: " + Power);
}
private void OnGameWin() {
Debug.Log("GAME WIN");
StopCoroutine(nightManager.RunGame());
}
private void OnGameLoss() {
// Start timer before Jumpscare
Debug.Log("GAME OVER");
StopCoroutine(nightManager.RunGame());
}
}