Skip to content

Releases: jeffcampbellmakesgames/Genesis

v2.3.0

15 Jun 13:13
Compare
Choose a tag to compare
v2.3.0

v1.3.0

05 Sep 12:10
Compare
Choose a tag to compare

SUMMARY

This release updates the minimum supported version of Unity to 2019.4 LTS, adds a few smaller bug fixes and feature additions for included code generators, and modifies the asset creation path for the GenesisSettings asset.

ADDED

  • A new attribute [FactoryKeyFor] has been created to enable code-generation of scriptable lookup factories where the decorated target used as the key type can be either a class or a struct.
  • Added several new methods to TypeExtensions for returning safe short and full type names, translating types to type aliases if they exist.

CHANGED

  • The GenesisSettings asset can now be created by the project create menu path JCMG => Genesis => GenesisSettings instead of Genesis => GenesisSettings.

FIXED

  • Fixed a bug with code generated by the [FactoryKeyEnumFor] code generator where using certain types as the Value target such as an array or generic list would result in bad output that wouldn't compile and potentially hang Unity's file importer due to bad characters in the filename.

v1.2.1

05 Aug 00:44
Compare
Choose a tag to compare

SUMMARY

This adds additional logging for errors experienced during code generation.

ADDED

  • Added logging for exceptions experienced during a code-generation run.

v1.2.0

02 May 11:24
Compare
Choose a tag to compare

CHANGED

  • UnityCodeGenerator.Generate has been made private; three new public methods GenerateAll, GenerateMultiple, and GenerateSingle allow for generating code from all, a subset, or a single GenesisSettings asset.

ADDED

  • Added the ability for ISettingsDrawers to have an explicit order set when drawn in the GenesisSettings inspector.
  • AbstractSettingsDrawer now has default Order set to 100.
  • Modified all included ISettingDrawer implementations to be ordered from 1-4 so they appear at the top of the inspector.
  • It is not possible to choose between generating code from all, a subset, or a single GenesisSettings asset using the pre-existing window menu item or the new contect-right click menu after selecting one of these assets.
  • Documentation has been updated to cover the AssembliesConfig and white-listing feature and the new options/menu items for generating code from GenesisSettings assets.

v1.1.1

27 Apr 07:15
Compare
Choose a tag to compare

FIXED

  • Fixed player build compilation for Genesis.Editor.Plugins Editor AssemblyDefinition not marked as editor-only.

v1.1.0

25 Apr 16:44
Compare
Choose a tag to compare

v1.1.0

CHANGED

  • Package version increased to v1.1.0
  • ScriptableFactoryDataProvider now takes into account the assembly whitelist config on the GenesisSettings used for that code generation run.

ADDED

  • Added configuration option for whitelisting assemblies on GenesisSettings. This is an recommended feature for data providers to optionally limit which assemblies are searched via reflection.
  • Added new overloads to ReflectionTools to make it easier to search via reflection using a whitelist of assemblies.

FIXED

  • Modified assertion for TypeExtensions where wrong Type was being checked as interface
  • Mitigated inspector performance issue for CodeGeneratorConfigDrawer that was causing CPU and GC spikes every editor frame.

REMOVED

  • Removed unused methods GetRealTypeName and GetEnumName in ReflectionTools

v1.0.0

23 Apr 08:31
Compare
Choose a tag to compare

Summary

Initial stable release for Genesis. Includes code generation framework, core plugins, and example plugin for scriptable factories.