Releases: chickensoft-games/LogicBlocks
v2.2.0
What's Changed
- feat: support watching inputs and catching exceptions via binding by @definitelyokay in #10
Full Changelog: v2.1.1...v2.2.0
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
GetInitialState
now 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
When
orHandle
. -
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
StateLogic
so 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
StateLogic
so 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.