namespace Game { public abstract class Singleton where T : new() { private static T _instance; public static T Instance { get { Create(); return _instance; } } public static void Create() { _instance ??= new T(); } } }