Releases: jeffcampbellmakesgames/Genesis
Releases · jeffcampbellmakesgames/Genesis
v2.3.0
v2.3.0
v1.3.0
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 pathJCMG => Genesis => GenesisSettings
instead ofGenesis => 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
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
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
FIXED
- Fixed player build compilation for Genesis.Editor.Plugins Editor AssemblyDefinition not marked as editor-only.
v1.1.0
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
Summary
Initial stable release for Genesis. Includes code generation framework, core plugins, and example plugin for scriptable factories.