public override void ModifyInterfaceLayers(List <GameInterfaceLayer> layers) { int idx = layers.FindIndex(layer => layer.Name.Equals("Vanilla: Mouse Text")); if (idx == -1) { return; } // GameInterfaceDrawMethod debugDrawCallback = () => { try { ModContent.GetInstance <PlayerMessages>().Draw(Main.spriteBatch); } catch (Exception e) { LogLibraries.Warn(e.ToString()); } return(true); }; // if (LoadLibraries.IsCurrentPlayerInGame()) { var debugLayer = new LegacyGameInterfaceLayer("ModLibsGeneral: Debug Display", debugDrawCallback, InterfaceScaleType.UI); layers.Insert(idx, debugLayer); } }
//////////////// internal void Update() { var wtHooks = ModContent.GetInstance <WorldTimeHooks>(); if (!LoadLibraries.IsWorldSafelyBeingPlayed()) { this.IsDay = Main.dayTime; } else { if (this.IsDay != Main.dayTime) { if (!this.IsDay) { foreach (Action hook in wtHooks.DayHooks.Values) { hook(); } } else { foreach (Action hook in wtHooks.NightHooks.Values) { hook(); } } } this.IsDay = Main.dayTime; } }
public override void ModifyInterfaceLayers(List <GameInterfaceLayer> layers) { int idx = layers.FindIndex(layer => layer.Name.Equals("Vanilla: Mouse Text")); if (idx == -1) { return; } // GameInterfaceDrawMethod cpDrawCallback = () => { this.DrawCP(Main.spriteBatch); return(true); }; // if (LoadLibraries.IsCurrentPlayerInGame()) { var cpLayer = new LegacyGameInterfaceLayer("ModControlPanel: Control Panel", cpDrawCallback, InterfaceScaleType.UI); layers.Insert(idx, cpLayer); } }
void App_Startup(object sender, StartupEventArgs e) { ViewCatalog.Initialize(System.Reflection.Assembly.GetExecutingAssembly()); LoadLibraries loadLibraries = new LoadLibraries(); ViewCatalog.RegisterView(loadLibraries); loadLibraries.SendMessage(ViewMessage.Show); }
//////////////// public override void PostUpdateEverything() { this.MouseInterface = Main.LocalPlayer.mouseInterface; if (LoadLibraries.IsWorldBeingPlayed()) { ModContent.GetInstance <WorldStateLibraries>().UpdateUponWorldBeingPlayed(); } }
public static IList <string> GetNpcWhitelistGroupsForNpc(NPC npc) { if (!LoadLibraries.IsWorldLoaded()) { throw new ModLibsException("World not loaded"); } var myworld = ModContent.GetInstance <NihilismWorld>(); return(myworld.Logic?.DataAccess?.GetNpcWhitelistGroupEntriesForNpc(npc)); }
public static IList <string> GetRecipeBlacklist2GroupsForItem(Item item) { if (!LoadLibraries.IsWorldLoaded()) { throw new ModLibsException("World not loaded"); } var myworld = ModContent.GetInstance <NihilismWorld>(); return(myworld.Logic?.DataAccess?.GetRecipeBlacklist2GroupEntriesForItemRecipe(item)); }
public static void ClearRecipeBlacklist2(bool localOnly) { if (!LoadLibraries.IsWorldLoaded()) { throw new ModLibsException("World not loaded"); } var myworld = ModContent.GetInstance <NihilismWorld>(); myworld.Logic.DataAccess.ClearRecipeBlacklist2(); if (!localOnly) { myworld.Logic.SyncDataChanges(); } }
//////////////// public static void SetCurrentFiltersAsDefaults(bool localOnly) { if (!LoadLibraries.IsWorldLoaded()) { throw new ModLibsException("World not loaded"); } var myworld = ModContent.GetInstance <NihilismWorld>(); myworld.Logic.DataAccess.SetCurrentFiltersAsDefaults(); if (!localOnly) { myworld.Logic.SyncDataChanges(); } }
public static void SetRecipeWhitelistEntry(ItemDefinition itemDef, bool localOnly) { if (!LoadLibraries.IsWorldLoaded()) { throw new ModLibsException("World not loaded"); } var myworld = ModContent.GetInstance <NihilismWorld>(); myworld.Logic.DataAccess.SetRecipeWhitelistEntry(itemDef); if (!localOnly) { myworld.Logic.SyncDataChanges(); } }
public static void UnsetNpcLootBlacklistEntry(NPCDefinition npcDef, bool localOnly) { if (!LoadLibraries.IsWorldLoaded()) { throw new ModLibsException("World not loaded"); } var myworld = ModContent.GetInstance <NihilismWorld>(); myworld.Logic.DataAccess.UnsetNpcLootBlacklistEntry(npcDef); if (!localOnly) { myworld.Logic.SyncDataChanges(); } }
public static void SetItemBlacklistGroupEntry(string groupName, bool localOnly) { if (!LoadLibraries.IsWorldLoaded()) { throw new ModLibsException("World not loaded"); } var myworld = ModContent.GetInstance <NihilismWorld>(); myworld.Logic.DataAccess.SetItemBlacklistGroupEntry(groupName); if (!localOnly) { myworld.Logic.SyncDataChanges(); } }
//////////////// public override void ModifyInterfaceLayers(List <GameInterfaceLayer> layers) { var loadLibs = ModContent.GetInstance <LoadLibraries>(); if (loadLibs == null) { return; } // var layerDisable = LayerDisable.Instance; foreach (GameInterfaceLayer layer in layers) { if (layerDisable.DisabledLayers.Contains(layer.Name)) { layer.Active = false; } } // int idx = layers.FindIndex(layer => layer.Name.Equals("Vanilla: Mouse Text")); if (idx == -1) { return; } // GameInterfaceDrawMethod hudDrawCallback = () => { FreeHUD.Instance?.UIContext.Draw(Main.spriteBatch, Main._drawInterfaceGameTime); return(true); }; // if (LoadLibraries.IsCurrentPlayerInGame()) { var hudLayer = new LegacyGameInterfaceLayer("ModLibsUI: HUD UI", hudDrawCallback, InterfaceScaleType.UI); layers.Insert(idx, hudLayer); } }
//////////////// internal void UpdateUponWorldBeingPlayed() { if (!LoadLibraries.IsWorldSafelyBeingPlayed()) { this.IsDay = Main.dayTime; } else { if (this.IsDay != Main.dayTime) { this.HalfDaysElapsed++; } this.IsDay = Main.dayTime; } this.TicksElapsed++; }
//// public static void ClearFiltersForCurrentWorld(bool localOnly) { if (!LoadLibraries.IsWorldLoaded()) { throw new ModLibsException("World not loaded"); } var myworld = ModContent.GetInstance <NihilismWorld>(); myworld.Logic.DataAccess.ClearItemBlacklist(); myworld.Logic.DataAccess.ClearNpcBlacklist(); myworld.Logic.DataAccess.ClearNpcLootBlacklist(); myworld.Logic.DataAccess.ClearRecipeBlacklist(); myworld.Logic.DataAccess.ClearItemWhitelist(); myworld.Logic.DataAccess.ClearNpcLootWhitelist(); myworld.Logic.DataAccess.ClearNpcWhitelist(); myworld.Logic.DataAccess.ClearRecipeWhitelist(); myworld.Logic.DataAccess.ClearItemBlacklist2(); myworld.Logic.DataAccess.ClearNpcBlacklist2(); myworld.Logic.DataAccess.ClearNpcLootBlacklist2(); myworld.Logic.DataAccess.ClearRecipeBlacklist2(); myworld.Logic.DataAccess.ClearItemGroupBlacklist(); myworld.Logic.DataAccess.ClearNpcGroupBlacklist(); myworld.Logic.DataAccess.ClearNpcLootGroupBlacklist(); myworld.Logic.DataAccess.ClearRecipeGroupBlacklist(); myworld.Logic.DataAccess.ClearItemGroupWhitelist(); myworld.Logic.DataAccess.ClearNpcLootGroupWhitelist(); myworld.Logic.DataAccess.ClearNpcGroupWhitelist(); myworld.Logic.DataAccess.ClearRecipeGroupWhitelist(); myworld.Logic.DataAccess.ClearItemGroupBlacklist2(); myworld.Logic.DataAccess.ClearNpcGroupBlacklist2(); myworld.Logic.DataAccess.ClearNpcLootGroupBlacklist2(); myworld.Logic.DataAccess.ClearRecipeGroupBlacklist2(); if (!localOnly) { myworld.Logic.SyncDataChanges(); } }
public override bool CanPlace(int i, int j, int type) { if (Main.netMode != NetmodeID.Server && !Main.dedServ) { // World gen? if (Main.gameMenu || !LoadLibraries.IsCurrentPlayerInGame()) { return(true); } } if (!TileLogic.CanPlace(type)) { return(false); } switch (type) { case TileID.Platforms: return(TileLogic.CanPlacePlatform(i, j)); case TileID.Rope: case TileID.SilkRope: case TileID.VineRope: case TileID.WebRope: return(TileLogic.CanPlaceRope(i, j)); case TileID.MinecartTrack: return(TileLogic.CanPlaceTrack(i, j)); default: if (type == ModContent.TileType <FramingPlankTile>()) { return(TileLogic.CanPlaceFramingPlank(i, j)); } return(true); } }