Releases: brunomikoski/ScriptableObjectCollection
Releases · brunomikoski/ScriptableObjectCollection
Multiple Collections improvements
Changed
- In order to support multiple collections of the same type the check of the
ValuesI had to tweak how the instance of every instance is assigned, changed for theOnEnableof the collection item - Changed the Refresh of the collections to only find items under the same folder.
- Fixed a lot of scripts to work properly with multiple collections of the same type
- Added some logs when
CollectionItemsare added/removed from collections to help the visibility CollectionType.Valuesnow will return all theCollectionItemavailable on the registry, so if you have 2 Collections of the one Type this will return the content of both collections while theCollectionItem.Valueswhen the access file is generated will only return that specific collection item
Settings Revamp
Changed
- Removed the automatically reload of CollectionRegistry using the
DidReloadScriptscallback, this caused multiple issues on batch mode and on clear libraries - Converted the
Collectionreference on theCollectionItemto be a Lazy reference, since this was causing some dependency when usingCollectionItemas addressables - Refactored the
ScriptableObjectSettingsthis used to be a Resources object that was autoloaded, but this could also create unwanted dependencies between items. The settings for code generated are not stored inside the Collection itself. Make sure you delete theScriptableObjectsSettingsScriptableObject inside your resources folder. - Added a bunch of validation and verification for the Generation of the static access, making sure it only allows partial classes when is possible and other small checks.
- The settings are now on the Project Preferences where you can define the default folder for the Scriptable Objects and default namespace.
Fixed batch mode collection reload
Changed
-Disabled the reload of the collection after script reloading on batch mode.
Cleanup old .meta files
v1.5.2 Update package.json
Simplified Multiple Collections display
Changed
- Simplified the multiple collection display to be a single line again, showing all the available items inside the
AdvancedDropdown
Multiple Collections of the same type support
Changed
- Renamed the
CollectableforCollectionItemthis has several changes in multiple parts of the code, I tried my best to keep compatibility with the old version.CollectableScriptableObjectstill exists but has the obsolete flag on it to avoid breakable changes. - Add
IsValidto IndirectReferences to check if has valid data before being used - Refactored
ResourceScriptableObjectSingletonto fix some warnings - Fixed the
GetEnumeratorfromCollectionwarning - The
CollectionRegistrynow will only load Collections that are inside an active Assembly. - Exposed the
Collectionslist on the Registry - Simplified the CollectionItem Dropdown (removed the type grouping)
- Multiple QoL improvements on the codebase.
Added
- A new information on the Collection custom editor to show the base class if is different from the collection type (Disabled for now)
- Exposed the namespace to be customized by the custom static file
- Added support of multiple collections of the same type on the registry, the
CollectionItemDrawerwill display a Collection dropdown if more than one collection for the same type of item is available
Quality fo Life and Contributions
Changed
- Fixed issue when using the Create Settings menu
- Added automatically open of the selected collectable when using the goto button on the CollectableProperty Drawer
- Added type-specific GetEnumerator for the Collection
Thanks @Thundernerd and @FreezyExp for the contributions
Refactoring and improvements
Added
- Added quick access to the .Values from the collection, to be used without code generation, you can now use
CustomCollection.Valuesto gett all your items - Added a
GetValues()to the generated static file, you can quickly get a filtered list of items that you need
Changed
- Changed Create Collection Wizzard to behave like a modal window that can loose focus.
- Removed the TryGet static access generation, was not been used and was causing some problems
New QoL and bug fixes
Added
- Automatically selection of the newly created item, for renaming
- Added keyword validation for names
- Added ability to create new items from the selection dropdown.
Changed
- Fixed issue when trying to play without the
CollectionRegistrycreated
QoL and small new features
Added
- Added basic copy/paste functionality between colelctables
Changed
- Removed multiple
AssetDatabase.SaveAssets();to improve general performance when adding / removing objects - Fixed indirect reference issues with the new Advanced Dropdown search
- Removed static
.Valuesfrom the Colletion, was redundant and error prone