LogicBlocks Versions Save

Human-friendly, hierarchical state machines for games and apps in C#.

v4.2.2

2 months ago

v4.2.1

4 months ago

What's Changed

Full Changelog: https://github.com/chickensoft-games/LogicBlocks/compare/v4.2.0...v4.2.1

v4.2.0

4 months ago

What's Changed

Full Changelog: https://github.com/chickensoft-games/LogicBlocks/compare/v4.1.0...v4.2.0

v4.1.0

4 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/chickensoft-games/LogicBlocks/compare/v4.0.0...v4.1.0

v4.0.0

4 months ago

What's Changed

Full Changelog: https://github.com/chickensoft-games/LogicBlocks/compare/v3.4.0...v4.0.0

v3.4.0

6 months ago

v3.3.0

6 months ago

What's Changed

Full Changelog: https://github.com/chickensoft-games/LogicBlocks/compare/v3.2.0...v3.3.0

v3.2.0

7 months ago

What's Changed

Full Changelog: https://github.com/chickensoft-games/LogicBlocks/compare/v3.1.0...v3.2.0

v3.1.0

7 months ago

What's Changed

Full Changelog: https://github.com/chickensoft-games/LogicBlocks/compare/v3.0.0...v3.1.0

v3.0.0

7 months ago

What's Changed

  • removes generics for input and output — they are both just of type object as far as logic blocks is concerned. this drastically reduces boilerplate when creating logic blocks and will substantially simplify errors while developing.
  • fixes generator to infer inputs and outputs from usage, as opposed to relying on subtypes.
  • changes all examples and test fixtures to use readonly record struct types for input and output types, as well as sets forth the convention of organizing inputs and outputs in static classes inside a logic block subclass.
  • overhauled documentation in the readme, complete with the latest up-to-date code examples and diagrams
  • bumps version to 3.0, given these major breaking changes.
  • makes seperate versions of StateLogic for LogicBlock and LogicBlockAsync so that states can trigger enter/exit callbacks themselves.
  • removes the state tester in favor of asking states to re-enter and re-exit.
  • overhauls the tutorial on creating a space heater to create a much cleaner and more realistic, real-world type of example.
  • Removed WeakEvent for the sake of performance and API usage. Looked like it was allocating a list on every invocation. Would rather just use .NET's underlying Multicast delegates that power vanilla C# events.
  • Bindings now unsubscribe input and error event channels — was a small oversight.
  • Added public api methods, Enter, and Exit on StateLogic, allowing you to manually trigger entrance/exit callbacks whenever you want. You can even provide the next or previous state (respectively), allowing only the relevant callbacks to be triggered based on the type.
  • Added test case showing that structs can be used for inputs and outputs. Using structs for outputs should prevent them from ever having to hit the heap, meaning you could spam producing struct outputs as much as you want. 😀

Full Changelog: https://github.com/chickensoft-games/LogicBlocks/compare/v2.4.1...v3.0.0