public override void Unload() { Instance = null; auroraEffect = null; noise = null; eventsUserInterface = null; eventsUIState = null; }
public override void Load() { if (!Main.dedServ) { Player player = Main.LocalPlayer; Filters.Scene["Events:Meteor"] = new Filter(new ScreenShaderData("FilterMiniTower").UseColor(0.5f, 0.5f, 0.5f).UseOpacity(0f), EffectPriority.VeryHigh); SkyManager.Instance["Events:Meteor"] = new SolarSky1(); Filters.Scene["Events:MeteorShader"] = new Filter(new ScreenShaderData("FilterMiniTower").UseColor(0f, 0.3f, .6f).UseOpacity(0.15f), EffectPriority.High); Filters.Scene["Events:Stardust"] = new Filter(new ScreenShaderData("FilterMiniTower").UseColor(0.5f, 0.5f, 0.5f).UseOpacity(0f), EffectPriority.VeryHigh); SkyManager.Instance["Events:Stardust"] = new LightningSky(); Filters.Scene["Events:AcidRain"] = new Filter(new ScreenShaderData("FilterBloodMoon").UseColor(0.5f, 1f, .25f).UseOpacity(1.25f), EffectPriority.Medium); Filters.Scene["Events:HeatWave"] = new Filter(new ScreenShaderData("FilterHeatDistortion").UseImage("Images/Misc/noise", 0, (SamplerState)null).UseIntensity(4f), EffectPriority.Medium); Filters.Scene["Events:WindySky"] = new Filter((new BlizzardShaderData("FilterBlizzardForeground")).UseColor(0.4f, 0.4f, 0.4f).UseSecondaryColor(0.2f, 0.2f, 0.2f).UseImage("Images/Misc/noise", 0, null).UseOpacity(0.069f).UseImageScale(new Vector2(3f, 0.75f), 0), EffectPriority.High); SkyManager.Instance["Events:Ashstorm"] = new AshstormSky(); Filters.Scene["Events:Ashstorm"] = new Filter((new BlizzardShaderData("FilterBlizzardForeground")).UseColor(0.01f, 0.01f, 0.01f).UseSecondaryColor(0.08f, 0.08f, 0.08f).UseImage("Images/Misc/noise", 0, null).UseOpacity(0.07f).UseImageScale(new Vector2(3f, 0.75f), 0), EffectPriority.High); //Literally only here so the game doesnt crash Filters.Scene["Events:AshstormParticles"] = new Filter((new ScreenShaderData("FilterMiniTower")).UseColor(0f, 0f, 0f).UseOpacity(0f), EffectPriority.VeryLow); Terraria.Graphics.Effects.Overlays.Scene["Events:Ashstorm"] = new SimpleOverlay("Images/Misc/noise", (new BlizzardShaderData("FilterBlizzardBackground")).UseColor(0.0f, 0.0f, 0.0f).UseSecondaryColor(0.08f, 0.08f, 0.08f).UseImage("Images/Misc/noise", 0, null).UseOpacity(0.05f).UseImageScale(new Vector2(3f, 0.75f), 0), EffectPriority.High, RenderLayers.Landscape); Terraria.Graphics.Effects.Overlays.Scene["Events:AshstormParticles"] = new AshstormOverlay(EffectPriority.VeryHigh); auroraEffect = GetEffect("Effects/aurora"); noise = GetTexture("Textures/noise"); //filler stuff SkyManager.Instance["Events:AuroraSky"] = new AuroraSky(); Filters.Scene["Events:AuroraSky"] = new Filter((new ScreenShaderData("FilterMiniTower")).UseColor(0f, 0f, 0f).UseOpacity(0f), EffectPriority.VeryLow); //the actually important thing Terraria.Graphics.Effects.Overlays.Scene["Events:AuroraSky"] = new AuroraOverlay(EffectPriority.VeryHigh); eventsUserInterface = new UserInterface(); eventsUIState = new EventsJournalUIState(); } base.Load(); }