public static SkyOverlay GetInstanceOf <T>() where T : SkyOverlay { for (int i = 0; i < WeatherPartPool.instances.Count; i++) { T t = WeatherPartPool.instances[i] as T; if (t != null) { return(t); } } SkyOverlay skyOverlay = Activator.CreateInstance <T>(); WeatherPartPool.instances.Add(skyOverlay); return(skyOverlay); }
public static SkyOverlay GetInstanceOf <T>() where T : SkyOverlay { for (int i = 0; i < WeatherPartPool.instances.Count; i++) { T val = (T)(WeatherPartPool.instances[i] as T); if (val != null) { return((SkyOverlay)(object)val); } } SkyOverlay skyOverlay = (SkyOverlay)(object)new T(); WeatherPartPool.instances.Add(skyOverlay); return(skyOverlay); }
public static SkyOverlay GetInstanceOf <T>() where T : SkyOverlay { for (int i = 0; i < instances.Count; i++) { T val = instances[i] as T; if (val != null) { return(val); } } SkyOverlay skyOverlay = Activator.CreateInstance <T>(); instances.Add(skyOverlay); return(skyOverlay); }
// Stops the different overlays, like fallout and fog, from being drawn if setting is inactive. static bool Prefix(ref SkyOverlay __instance) => ToggleManager.IsActive(Format(__instance.GetType()));