Releases: chickensoft-games/LogicBlocks
Version 2.1.1
- Support return expressions using patterns in generator
- Better support abstract and interface types in binding callbacks
Version 2.1.0
-
You can perform context operations in
GetInitialStatenow so that you can lookup blackboard dependencies set in the constructor. -
Binding system is rewritten to support abstract types and interfaces for states and outputs when using generics with
WhenorHandle. -
Fixed async logic block error handling.
-
Renamed events, removed unnecessary events and systems.
-
OnTransition was removed because any such system should be implemented as a binding. It could not support abstract types or interfaces, as well.
-
Generator was updated to improve robustness. Now it will not fail to generate all diagrams if generation for a single diagram fails 🤞
-
Updated documentation
- Docs now discuss events, error handling, and reusing states for performance.
Version 2.0.0
Reworks LogicBlocks to ensure OnEnter/OnExit is called in the correct order for states that are reused.
- Adds support for multiple initial state types to the diagram generator
- Adds support for partial states spread across files to the diagram generator.
- Improves diagram generator output determinism to avoid source control churn.
- Simplifies the LogicBlock core state change mechanism.
- Adds internal state to
StateLogicso callbacks can be preserved inside the state rather than inside the logic block. This is the mechanism which enables the fix above. - Updates all API usage, fixes tests, and introduces new tests for desired use cases.
Version 2.0.0-beta.1
Reworks LogicBlocks to ensure OnEnter/OnExit is called in the correct order for states that are reused.
- Adds support for multiple initial state types to the diagram generator
- Adds support for partial states spread across files to the diagram generator.
- Simplifies the LogicBlock core state change mechanism.
- Adds internal state to
StateLogicso callbacks can be preserved inside the state rather than inside the logic block. This is the mechanism which enables the fix above. - Updates all API usage, fixes tests, and introduces new tests for desired use cases.