//// internal void OnPostModsLoad() { // This is deferred to here because of LoadHooks load order (ironically) LoadHooks.AddModUnloadHook(() => { try { Main.OnPostDraw -= SupportInfoDisplay._Draw; } catch { } }); }
//// public void OnPostModsLoad() { if (!Main.dedServ) { LoadHooks.AddModUnloadHook(() => { Main.OnTick -= AnimatedColorsManager._Update; }); } }
//////////////// public MenuContextServiceManager() { if (Main.dedServ) { return; } Main.OnPostDraw += MenuContextServiceManager._Update; LoadHooks.AddModUnloadHook(this.ModsUnloading); }
private void ApplyModBrowserModInfoBindings(UIState modBrowserUi, UIList uiModList) { if (modBrowserUi?.GetType().Name != "UIModBrowser") { throw new ModHelpersException("Invalid UIModBrowser"); } object modList; if (!ReflectionHelpers.Get(uiModList, "_items", out modList) || modList == null) { throw new ModHelpersException("Invalid modList._items"); } var itemsArr = (Array)modList.GetType() .GetMethod("ToArray") .Invoke(modList, new object[] { }); for (int i = 0; i < itemsArr.Length; i++) { var item = (UIElement)itemsArr.GetValue(i); if (item == null) { LogHelpers.Warn("Invalid modList._item[" + i + "] (out of " + itemsArr.Length + ")"); continue; } //string modName; //if( !ReflectionHelpers.GetField( item, "mod", out modName ) || modName == null ) { // throw new Exception( "Invalid modList._item["+i+"].mod" ); //} UIElement modInfoButton; if (!ReflectionHelpers.Get(item, "_moreInfoButton", out modInfoButton) || modInfoButton == null) { LogHelpers.Alert("Invalid modList._item[" + i + "]._moreInfoButton"); continue; } MouseEvent modInfoButtonClick = (_, __) => { if (!ReflectionHelpers.Set(modBrowserUi, "SelectedItem", item)) { LogHelpers.Alert("Could not set selected item from the mod browser"); } }; modInfoButton.OnClick += modInfoButtonClick; LoadHooks.AddModUnloadHook(() => { try { modInfoButton.OnClick -= modInfoButtonClick; } catch { } }); } }
//////////////// internal MusicHelpers() { this.OnTickGet = Timers.MainOnTickGet(); Main.OnTick += MusicHelpers._Update; LoadHooks.AddModUnloadHook(() => { try { Main.OnTick -= MusicHelpers._Update; } catch { } }); }
//// public void OnPostModsLoad() { if (!Main.dedServ) { LoadHooks.AddWorldUnloadEachHook(() => { this.Animations.Clear(); }); LoadHooks.AddModUnloadHook(() => { Main.OnTick -= AnimatedTextureManager._Update; }); } }
public static void InitializeStatic(BetterPaintMod mymod) { if (!Main.dedServ && PaintBlasterHUD.AmmoCan == null) { PaintBlasterHUD.AmmoCan = mymod.GetTexture("UI/PaintBlasterHUD/PaintAmmoContainer"); PaintBlasterHUD.AmmoTop = mymod.GetTexture("UI/PaintBlasterHUD/PaintAmmoTop"); PaintBlasterHUD.AmmoBot = mymod.GetTexture("UI/PaintBlasterHUD/PaintAmmoBottom"); LoadHooks.AddModUnloadHook(() => { PaintBlasterHUD.AmmoCan = null; PaintBlasterHUD.AmmoTop = null; PaintBlasterHUD.AmmoBot = null; }); } }
//////////////// public MenuItemManager() { if (!Main.dedServ) { Main.OnPostDraw += MenuItemManager._Draw; } LoadHooks.AddModUnloadHook(() => { try { if (!Main.dedServ) { Main.OnPostDraw -= MenuItemManager._Draw; } } catch { } }); }
//////////////// public override void SetStaticDefaults() { this.DisplayName.SetDefault("Color Cartridge"); this.Tooltip.SetDefault("Needs a Paint Plaster to use" + '\n' + "Make cartridges with paint at a paint mixer" + '\n' + "Blend cartidges together at a paint mixer"); if (!Main.dedServ && ColorCartridgeItem.ColorCartridgeTex == null) { ColorCartridgeItem.ColorCartridgeTex = this.mod.GetTexture("Items/ColorCartridgeItem"); ColorCartridgeItem.ColorOverlayTex = this.mod.GetTexture("Items/ColorCartridgeItem_Color"); LoadHooks.AddModUnloadHook(() => { ColorCartridgeItem.ColorOverlayTex = null; ColorCartridgeItem.ColorCartridgeTex = null; }); } }
//////////////// public TileDataManager() { this.OnTickGet = Timers.MainOnTickGet(); Main.OnTick += TileDataManager._Update; if (!Main.dedServ) { Overlays.Scene["TileDamageEffects"] = new TileEffectsOverlay(); Overlays.Scene.Activate("TileDamageEffects"); } LoadHooks.AddModUnloadHook(() => { Main.OnTick -= TileDataManager._Update; if (!Main.dedServ) { Overlays.Scene["TileDamageEffects"].Deactivate(); } }); }
//////////////// public override void SetStaticDefaults() { this.DisplayName.SetDefault("Glow Cartridge"); this.Tooltip.SetDefault("Needs a Paint Blaster to use" + '\n' + "Produces glow-in-the-dark paint" + '\n' + "Craft with cartidges and glowing spores at a paint mixer"); if (!Main.dedServ && GlowCartridgeItem.GlowCartridgeTex == null) { GlowCartridgeItem.GlowCartridgeTex = this.mod.GetTexture("Items/GlowCartridgeItem"); GlowCartridgeItem.ColorOverlayTex = this.mod.GetTexture("Items/GlowCartridgeItem_Color"); GlowCartridgeItem.GlowMaskTex = this.mod.GetTexture("Items/GlowCartridgeItem_Glow1"); LoadHooks.AddModUnloadHook(() => { GlowCartridgeItem.GlowCartridgeTex = null; GlowCartridgeItem.ColorOverlayTex = null; GlowCartridgeItem.GlowMaskTex = null; }); } }
private static void InitializeDebugModeMenuInfo() { if (!ModHelpersMod.Config.DebugModeMenuInfo) { return; } Main.OnPostDraw += Menus.DebugModeMenuInfo; Menus.DebugModeMenuInfoLoaded = true; LoadHooks.AddModUnloadHook(() => { try { if (Menus.DebugModeMenuInfoLoaded) { Main.OnPostDraw -= Menus.DebugModeMenuInfo; } } catch { } Menus.DebugModeMenuInfoLoaded = false; }); }
//////////////// public override void SetDefaults() { int mytype = this.Type; this.DisplayName.SetDefault("Encumbered"); this.Description.SetDefault("You're weighted down" + '\n' + "More items = more burden"); Main.debuff[mytype] = true; if (!Main.dedServ && EncumberedDebuff.IconTex1 == null) { EncumberedDebuff.IconTex1 = EncumbranceMod.Instance.GetTexture("Buffs/EncumberedDebuff_1"); EncumberedDebuff.IconTex2 = EncumbranceMod.Instance.GetTexture("Buffs/EncumberedDebuff_2"); EncumberedDebuff.IconTex3 = EncumbranceMod.Instance.GetTexture("Buffs/EncumberedDebuff_3"); EncumberedDebuff.IconTex4 = EncumbranceMod.Instance.GetTexture("Buffs/EncumberedDebuff_4"); if (!EncumberedDebuff.HasSetPromise) { EncumberedDebuff.HasSetPromise = true; CustomLoadHooks.AddHook(EncumbrancePlayer.PlayerMovementPromiseValidator, (whoAmI) => { Player plr = Main.player[whoAmI]; if (plr != null && plr.active && plr.HasBuff(mytype)) { EncumberedDebuff.ApplyMovementHinderance(plr); } return(true); }); } LoadHooks.AddModUnloadHook(() => { EncumberedDebuff.IconTex1 = null; EncumberedDebuff.IconTex2 = null; EncumberedDebuff.IconTex3 = null; EncumberedDebuff.IconTex4 = null; }); } }
public static void InitializeStatic(BetterPaintMod mymod) { if (!Main.dedServ && PaintBlasterUI.BrushStream == null) { PaintBlasterUI.BrushStream = mymod.GetTexture("UI/PaintBlasterUI/BrushStream"); PaintBlasterUI.BrushSpray = mymod.GetTexture("UI/PaintBlasterUI/BrushSpray"); PaintBlasterUI.BrushSpatter = mymod.GetTexture("UI/PaintBlasterUI/BrushSpatter"); PaintBlasterUI.BrushEraser = mymod.GetTexture("UI/PaintBlasterUI/BrushEraser"); PaintBlasterUI.LayerFgTex = mymod.GetTexture("UI/PaintBlasterUI/LayerFg"); PaintBlasterUI.LayerBgTex = mymod.GetTexture("UI/PaintBlasterUI/LayerBg"); PaintBlasterUI.LayerBothTex = mymod.GetTexture("UI/PaintBlasterUI/LayerBoth"); PaintBlasterUI.SizeSmallTex = mymod.GetTexture("UI/PaintBlasterUI/SizeSmall"); PaintBlasterUI.SizeLargeTex = mymod.GetTexture("UI/PaintBlasterUI/SizeLarge"); PaintBlasterUI.PressureLowTex = mymod.GetTexture("UI/PaintBlasterUI/PressureLow"); PaintBlasterUI.PressureMidTex = mymod.GetTexture("UI/PaintBlasterUI/PressureMid"); PaintBlasterUI.PressureHiTex = mymod.GetTexture("UI/PaintBlasterUI/PressureHi"); LoadHooks.AddModUnloadHook(() => { PaintBlasterUI.BrushStream = null; PaintBlasterUI.BrushSpray = null; PaintBlasterUI.BrushSpatter = null; PaintBlasterUI.BrushEraser = null; PaintBlasterUI.LayerFgTex = null; PaintBlasterUI.LayerBgTex = null; PaintBlasterUI.LayerBothTex = null; PaintBlasterUI.SizeSmallTex = null; PaintBlasterUI.SizeLargeTex = null; PaintBlasterUI.PressureLowTex = null; PaintBlasterUI.PressureMidTex = null; PaintBlasterUI.PressureHiTex = null; }); } }