Add CreatureManager and entity systems#5
Closed
Segually wants to merge 49 commits into
Closed
Conversation
Autobuildtest, neat.
Initialize and wire up two new item systems. Base.GamePlugin now initializes WorldPrefabManager and CraftingInjectionManager (with startup timing logs). Added CraftingInjectionManager which lets mods inject items into vanilla crafting lists via a Harmony postfix on inventory_ctr.GetCraftList; insertions are idempotent and support inserting after a specific item. Added WorldPrefabManager which allows registering AssetBundle prefabs for world-placeable items (keyed by item id or World_obj_path) and patches both overloads of ResourceControl.AsyncInstantiateWorldObjectPrefab to supply mod prefabs, instantiating cached assets safely. Includes simple reset/initialize helpers and Harmony patches to integrate with the game.
Add world prefab and crafting injection managers
Introduce a new entity subsystem to support custom creatures. - Add CreatureManager and Creature classes (Entities.Systems.cs) with: resource registration from embedded .png/.txt pairs, sprite byte loading and Texture2D->Sprite creation, caching, and helper methods to query data lines and names. - Add Harmony patches to integrate custom creatures into the game: intercept ResourceControl.GetTextFileLines, override AssignCreatureSprite, hook into CreatureMorpher list generation and LoadPlainCreatureFromDisk, add breeder UI integration and random creature selection. - Wire up initialization in Base.GamePlugin.cs: initialize CreatureManager and log its startup time. - Add placeholder namespaces files: Entities.Events.cs and Entities.Interfaces.cs. This change enables packaging custom creature definitions and images as embedded resources and integrates them into existing game lists/UI via runtime patches.
Owner
Apart from that it looks fine. |
Move creature-related types and logic out of Entities into a new Creatures namespace and folder. Adds Creature and CreatureManager (resource registration, sprite caching, and multiple Harmony patches) in HAModHelper.GamePlugin/Creatures and updates Base.GamePlugin to reference Creatures.Systems. Leaves the old Entities.* files emptied/stubbed. Also adds Visual Studio workspace/metadata files (.vs) generated by the IDE.
Contributor
Author
|
@eris-webserv i moved it to creatures |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Introduce a new entity subsystem to support custom creatures.
This change enables packaging custom creature definitions and images as embedded resources and integrates them into existing game lists/UI via runtime patches.