using System.Collections.Generic; using UnityEngine; namespace CruelMan.Modules { public class ModuleManager : MonoBehaviour { public static ModuleManager instance; public List modules = new List(); public void Awake() { instance = this; AddModules(); } public void Update() { foreach (Module module in modules) { module.Update(); } } private void AddModules() { AddModule(); AddModule(); AddModule(); AddModule(); AddModule(); AddModule(); AddModule(); AddModule(); AddModule(); } private void AddModule() where T : Module, new() { T module = new T(); module.Register(); } public T GetModule() where T : Module, new() { foreach (Module module in modules) { if (module is T) { return (T)module; } } throw new System.Exception("Module not found"); } } }