using System; using System.Collections.Generic; using UnityEditor; using UnityEngine; public class GameController : MonoBehaviour { public static GameController i; public List levels; public void Start() { if (i) { Destroy(gameObject); return; } i = gameObject.GetComponent(); DontDestroyOnLoad(gameObject); } public Dictionary PopEnemies(string sceneName) { LevelInfo li = levels.Find(x => x.scene.name == sceneName); Dictionary enemies = li.enemies; li.enemies.Clear(); return enemies; } public void AddEnemyInLevel(GameObject enemy, string sceneName) { Dictionary enemies = levels.Find(x => x.scene.name == sceneName).enemies; if (enemies.ContainsKey(enemy)) enemies[enemy] += 1; else enemies[enemy] = 1; } public LevelInfo GetLevel(string sceneName) { return levels.Find(x => x.scene.name == sceneName); } public void OnLevelClear(string sceneName, float timeSpent) { } } [Serializable] public struct LevelInfo { public SceneAsset scene; public int hp; public int maxHp; public FactoryType factory; public Dictionary enemies; } public enum FactoryType { None, Rifle, Rocket, Minigun, Railgun }