Skip to content

ModAPI v0.2.0.12. Refactor

Latest
Compare
Choose a tag to compare
@tommojphillips tommojphillips released this 30 Sep 04:00
· 7 commits to master since this release

Release v0.2.0.12

  • Mod using ModApi v0.1.4.13 will be compatible with ModApi v0.1.4.20 without rebuilding the mod. But A mod using modapi v0.1.5.x will not work when using modapi v0.1.4x etc.
  • AssemblyInfo.tt (T4 Template) now Searches for "AsseemblyFileVersion" instead of "AssemblyVersion".
  • Changed constant strings to static readonly so changes (build numbers) are reflected in version gets (version._get, build._get) in mods using modapi.
  • added more modapi consolecommands to get file or assembly versions.
  • Added close (' X ') buttons on most guis.
  • Added log.
  • Cleaned up using statements.
  • Split up logic in ModApiLoader, to BoltManager & PartManager. now the loader calls the managers load function. The managers handle part and bolt specific logic.
  • Changed how modapi is loaded. ModAPI now has its own EntryPoint that is invoked when ModAPI.dll is first loaded.
  • Dev mode Overhaul. Dev mode allows a developer using ModAPI to access usefull info and easily set up a part using a GUI ingame.
  • Implemented autosave feature for parts and bolts. autosaving of parts is active by default. The autosave feature saves a part and its bolts automatically when the player save the game. without the dev having to save the state of all the parts they have created. The AutoSave feature saves its data using ES2 (EasySave 2) thats how MSC saves its data. ModAPI AutoSave data is saved in a file called "ModApiParts.txt" in the same folder as the games save data, "defaultES2File.txt".
    Added xml comments.
  • Modified how cache is accessed.
  • Modified how Parts can be installed to triggers. Orginally, A part needed a reference to all triggers that it could be installed to. Now Parts and Triggers have a new field, "triggerData" of type "TriggerData" (derived from ScriptableObject). Now any part can be installed to any trigger with the same TriggerData. without having to pass in every single trigger reference that this part could possibly install to. Which becomes problematic when you have a part that is initialized later/after the game starts. or when you have a trigger parented on a part for another part to install to.
  • Refactored Part.cs, Trigger.cs, Bolt.cs, And a lot of other classes.
  • Trigger now has a settings class. to lower the amount of constructor parameters. Trigger Settings has a default state.
  • Bolts now can be attached to a Trigger instead of a part. This can lower the bolt count alot. by having 4 bolts on the trigger instead of 4 bolts on every part that installs to that trigger. Trigger bolt save info is saved automaticly.
  • Modified Bolt to be derivable.
  • Implemented BoltWithNut Bolt derived from Bolt. The Bolt has a nut on the other side of the bolt. max tightness is 16 instead of 8. The bolt has to be completely tight before you can tighten the nut. The Nut has to be completely loose before you can loosen the bolt.
  • Implemented fix for part drop/throw while PlayerInMenu FsmBool is true.

Full Changelog: v0.1.4.2...v0.2.0.12