Change Log
Version 1.29#
- Updated editor UI for Stats
- Fixed issues with UIMenu
- Added onInteractableChanged to UIMenuItem
- Added Portrait to Actor
- Added Portrait to Actor UI
- Added InputField class
- Improved initialization for UnityNewInputSystem manager
- Removed
parentfrom IDamageSource and IDamageable - Removed
infofrom IAttack - Moved Resources/Icons to Editor/Resources/Icons
Version 1.28#
- Fixed issue with Vision Sensor that prevented builds
- Fixed issue querying Vision Sensor targets before first frame
- Fixed location of PhotonFusion instantiated objects from InterfaceManager
- Fixed issue in MathSolver for functions that contain an unscore '_'
- Improved SimpleJson property serialization
- Updated DestroyAfterTime to allow in-game or realtime
- Added Slerp function to MathExtensions
Version 1.27#
Minimum version is now 2021.3.33f1
- Added Vision Sensor
- Added ReferencePlugin system
Version 1.26#
- Fixed issue surrounding ReleaseSubscriptions in GDTKStatValues
- Added ability for Actor to use a remote Blackboard
Version 1.25#
- Added the abilty to Copy/Paste Traits
- Added ObjectsUnderPointer property to InterfaceManager
- Added ObjectUnderPointer method to InterfaceManager
- Added OpenHyperlink method to InterfaceManager
- Added check for empty tooltip text
- Added TriggerByAnyKey component
Version 1.24#
- Fixed issue with GetFirstSubRace not including parent Traits
- Fixed issue with Unapplied Choices not being removed when undoing a selection
- Fixed issue with RemoveClass not fully removing sources/Traits
- Fixed issue with Add Item plugin related to NeedsUI property
- Added Stat Assignment List and Stat Assignmet Item controls
- Added "Add Item(s) with Count" Add-On plugin
- Added onModifierAdded and onModifierRemoved events to GDTKStat
- Added "Add-On Item Count" component
- Updated database window with undo support
- Updated plugins to use CustomEditor instead of CustomUniversalPluginEditor
- Improved BackgroundListUIDB
- Improved ClassListUIDB
- Improved RaceListUIDB
Version 1.23#
Breaking changes to binary save files. Please Read.
This version introduces a new, more efficent save system. Binary files from 1.22 and below will not upgrade.JSON files of any version will upgrade.If you need older data supported make sure to change over to JSON before upgrading.The new system's json files are over 70% smaller than before.The new binary files are around 60% smaller than before.- Fixed issue with starting Focuses not being applied
- Fixed Status Conditions not being visible for Basic Stats at design time
- Fixed issue with Stat Source plugins not initializing after load
- Fixed issue with Regeneration not subscribing after load (GDTKStat)
- Fixed starting languages not being applied
- Added ability to remove Focuses from Inspector at runtime
- Added Blackboard to inspector
- Implemented IInfoObject on all objects with BasicInfo
- Improved handling of Traits in save/load
Version 1.22#
- Fixed issue saving Resistances in
binaryafter loading fromJSON - Fixed issue applying a Trait's Stat Modifiers more than once when loading
binarydata - Fixed issue with applying trait multiple times during load in
binaryorjson - Fixed issue loading Classes from
binarydata - Fixed issue using a function directly after a
( - Fixed issue with Attribute List not listening to Shutdown event from source
- Fixed issue with Focuses not being saved
- Updated StatArea to work with Actors
- Editor improvements
- Save file improvements
- Added GetStatusCondition method to StatsDatabaseV2
- Added onDisplayNameChanged and onColorChanged events to all Stat Sources
- Added set property for color and displayName on all Stat Sources
- Added Stat Source UI control
Version 1.21#
- Fixed issue with Status Conditions when loading from JSON file
- Fixed thread safety issue with applying Ability plugin
- Added ability to start/stop Status Conditions via plugins
- Added "Apply To Remote" option to Stat Modifier Plugin (requires GDTK: Inventory)
- Added Blackboard to all Stat Sources
- Added ability to set transform target for respawn position/rotation
- Added HasFocuses method to all Stat Sources
- Updated demos with Actor
Version 1.20#
- Fixed issue with Display Drawers not being available without Inventory installed
- Added ability to set Remote Stat Sources in editor
- Added remoteStatsSources property to StatSource (base class)
- Added IsConditionTrue overload that accepts sources dictionary to StatSource (base class)
- Added GetValueWIthDictionary method to all Stat Sources
- Improved thread management
- Moved HeatbeatEvent to GDTK: Core
Version 1.19#
- Added UIDisplay
- Added UIDisplayGrid
- Added UIDisplayList
- Added UIListSource
Version 1.18#
- Fixed issue when subscribing to a class level prior to gaining 1st level
- Fixed issues with Stat Modifiers inside of Traits not causing saves properly
- Fixed issue where AddOn Plugins did not clone properly
- Fixed issue exporting status conditions
- Fixed layer issue with Stats 2D demo setup
- Added BackgroundListUIDB and Display Drawers
- Added ClassListUIDB and Display Drawers
- Added RaceListUIDB and Display Drawers
- Added Languages (NPC & Player Character)
- Added knowsLanguage[] function for stats parsing
- Added Focuses (All Stat Sources)
- Added hasFocus[] and focusLevel[] functions for stats parsing
- Added Raise Token Heartbeat & Token Count to Events editor
- Added ListType to RaceList
- Added onDoubleClick event to statsInfoUI
- Updated pickers to auto-focus the search field on open
- Updated demo to have prompts for every level-up
- Updated statsInfoUI onClick to pass GameObject
Version 1.17#
- Added Photon Fusion 2 support
Version 1.16#
- Fixed "Settings" include in Import/Export window
Version 1.15#
- Fixed issue where Background wasn't applied if set in start values
- Fixed issue where Global stats weren't properly subscribed to
- Added Import/Export wizard for Stats Database
- Added RemoteSources to StatSource
- Added ability to set Race/Background at runtime in Inspector
- Added Unapply method to AddOnPlugin
- Added thread safety to StatSource.statIds
- Added AddRemoteStatSource and RemoveRemoteStatSource methods to StatSource
- Added sqrt and pow functions
- Updated plugins to work with Actor
- Updated all Stat Sources to inherit display name & color from Actor (if present)
- Updated GDTKStat.GetValue to include owner as part of StatSources
- Updated GDTKStatValue.GetUninitailizedValue to include other & global in StatSources
- Updated GDTKStatValue's Random Range to use System.Random instead of Unity's Random
Version 1.14#
- Fixed issue with stats not being properly imported/exported
- Fixed editor issues with viewing Stat Source prior to initialization
- Added Tag filter for Stat Lists
- Added Matches method to GDTKConditionalBool, GDTKStatValue
- Added AddFunds Plugin (Requires GDTK: Inventory)
- Added TagFilter plugin
- Improved stat comparison on Imports
Version 1.13#
- Fixed issue where Container Interactable wouldn't alway properly destroy itself when "Destroy On Empty" checked
- Fixed issue with using GDTK: Stats on GDTK: Inventory items
- Fixed issue with StatsDatabaseV2 Unload method
- Fixed issue where newly created values weren't appearing in dropdowns inside editor
Version 1.12#
- Fixed error parsing certain very large/small values
- Fixed an issue in IsRace, HasPerk, HasClass, HasAttribute and ClassLevel where the wrong value was being returned
- Fixed an issue where subscriptions for Class, Perk, and Race were not registered prior to initialization
- Fixed Basic Stats editor not checking for Stats Database V2 instance
- Improved error messaging for attempting to check database when there isn't one in the scene
- Added AddComponentMenu attribute to all items making them easier to find
- Added some editor icons
- Updated all components previously using Label to use UILabel (the base class for Label)
Version 1.11#
- Added ICustomSaveTarget to all stat sources
- Changed signature of DataLoad to no longer return version on all stat sources
- Improved creation of new Database
Version 1.10#
BREAKING CHANGES for Save files are in this update. Details below
Save File Changes Each section of data now writes and reads its own independent version. This ensures any section can have its data changed in the future without affecting compatibility. Current save files only have a top-level version and will not load after this update. Generally breaking changes are not made but considering the length of time the prodcut has been available and the unlikelyhood that any save files are already in use by a production project now seems the best and only time to do this update.
Database Changes A new version of the database has been created (Stats Database V2). Upgrading from your existing database to the new one involves only clicking the "Upgrade" button and selecting a location to save the new database (which must be under a Resources directory). This upgrade not only greatly improves performance inside the editor but also allows you to have multiple working copies of the database that you can switch between and even set a development database and a production ("Runtime") database. The Runtime database can be loaded from a Resource file, an Asset Bundle or even a file in the Persistent Data directory.
Version 1.9#
Updates#
- Added sort and filter options to StatListUI
- Added StatGroupFilter, StatIdFilter and StatValueFilter plugins
Version 1.8#
Updates#
- Updated the broadcast channel name for broadcastMessages to "GDTK_STATS"
- Updated interactables to work with new Core 1.16 custom sources
- Editor improvements
Version 1.7#
Fixes#
- Fixed .initialized not being true after load from binary
- Fixed Status Condition List UI not showing activated items after load
Additions#
- Added Broadcast messages for effect add/remove
- Added Broadcast messages for condition start/stop
- Added Broadcast message for class add/level up
- Added onInitialized and onShutdown events to all stat sources
Version 1.6#
Notes#
GDTK Core is now included as part of the package
Fixes#
- Fixed JSON save issue
- Fixed loading with null overrides
- Fixed issue with substained modifiers that have subscriptions not correctly removing if subscribed value changed
Updates#
- Updated items to use InterfaceManager SyncRequest for raising events
- Updated Stat Sources to automatically register on initialization
- Updated GDTKStatsManager to automatically be able to find StatSources by their instanceId
Version 1.5#
Requirements#
GDTK v1.12 or higher
Additions#
- Added Custom Data plug-in and component editors
- Added StatModifierUI editor
Updates#
- Updated for latest GDTK core
Version 1.4#
Additions#
- New class StatSource allows you to add stats only to any object
Updates#
- GDTKStatsManager (used by everything with stats to parse values) can now be supplied a dictionary of sources so you can provide interaction between as many sources as you want
- Subscriptions & Parsing now even faster
- Stat Modifiers can now target
global:orother:
Version 1.3#
Fixes#
- Fixed StatModifier values not properly subscribing after loading from save data
- Fixed StatUI not updating after load from save data
- Fixed RaceUI not updating after load from save data
- Fixed BackgroundUI not updating after load from save data
- Fixed values loading from save data in reverse order
Additions#
- Added DataSaveJSON and DataLoadJSON to all Stat Sources
- Added CopyFrom method to GDTKStatValue, GDTKStatExpressionSet, GDTKRegenerationSettings, and GDTKIncrementSettings
Updates#
- Update 3D demo to use buttons for save/load instead of colliders which could cause data integrity issues
Version 1.2#
Updates#
- The Export button now allows you to select specific Stats, Conditions, etc for export
Version 1.1#
Fixes#
- Fixed a compatiblity issue with editors in Unity versions 2022+
Version 1.0#
Initial Release