using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class GameManager : MonoBehaviourSingletonPersistent { [SerializeField] private List levelNames; [SerializeField] private List levelMusics; [SerializeField] private List levelsMoney; int current_level = 0; GameObject _gameUI; GameObject _loseUI; GameObject _winUI; // for compativility with other team public bool fightStarted = false; private void Update() { if (Input.GetKeyDown(KeyCode.Space)) { GoNextLevel(); } } public void StartFightForAll() { AbstractUnit[] units = FindObjectsByType(FindObjectsSortMode.None); foreach (var unit in units) { unit.StartFight(); } fightStarted = true; } private void SetGlobals(int current_level) { GlobalsVariable.AliveUnitsTeamB = new List(); GlobalsVariable.AliveUnitsTeamA = new List(); GlobalsVariable.QueenA = null; GlobalsVariable.QueenB = null; GlobalsVariable.money = levelsMoney[current_level]; fightStarted = false; } public void ReloadLevel() { print("get good, reload current scene"); SetGlobals(current_level); SceneManager.LoadSceneAsync(SceneManager.GetActiveScene().name); } public void GoNextLevel() { if (current_level <= levelNames.Count) { current_level++; } else { current_level = 0; } SetGlobals(current_level); SceneManager.LoadScene(levelNames[current_level]); SoundManager.Instance.PlayMusic(levelMusics[current_level]); } }