Human-friendly, hierarchical state machines for games and apps in C#.
Full Changelog: https://github.com/chickensoft-games/LogicBlocks/compare/v4.2.1...v4.2.2
Full Changelog: https://github.com/chickensoft-games/LogicBlocks/compare/v4.2.0...v4.2.1
Full Changelog: https://github.com/chickensoft-games/LogicBlocks/compare/v4.1.0...v4.2.0
Full Changelog: https://github.com/chickensoft-games/LogicBlocks/compare/v4.0.0...v4.1.0
Full Changelog: https://github.com/chickensoft-games/LogicBlocks/compare/v3.4.0...v4.0.0
Full Changelog: https://github.com/chickensoft-games/LogicBlocks/compare/v3.3.0...v3.4.0
Full Changelog: https://github.com/chickensoft-games/LogicBlocks/compare/v3.2.0...v3.3.0
Full Changelog: https://github.com/chickensoft-games/LogicBlocks/compare/v3.1.0...v3.2.0
Full Changelog: https://github.com/chickensoft-games/LogicBlocks/compare/v3.0.0...v3.1.0
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.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.StateLogic
for LogicBlock
and LogicBlockAsync
so that states can trigger enter/exit callbacks themselves.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.Full Changelog: https://github.com/chickensoft-games/LogicBlocks/compare/v2.4.1...v3.0.0