XSM eXtended State Machine's icon

XSM eXtended State Machine 1.4.5 Tools 3.2 Community

Submitted by user atn; MIT; 2021-04-27

A freely inspired implementation of StateCharts (complex state machines) for Godot. This plugin provides States composition with subStates (and sub-...-sub-States), regions (ie parallel States) and helper functions in the "easy-to-use nodes that I move around" philosophy of Godot.
Timers and easy animation playing as a bonus!

Now with a StateRoot, pending States, substates call, an active states list, arguments to a state_change and an active States history ! (look in the readme on gitlab)

New functions :
func play_backwards(anim: String)
func play_blend(anim: String, custom_blend: float, custom_speed: float = 1.0, from_end: bool = false)
func play_sync(anim: String, custom_speed: float = 1.0, from_end: bool = false)
func pause()
func queue(anim: String)


Last edit: 1.4.5:
- fixes a bug in the signals declaration and parameters
Last Edit 1.4.4:
- New helper functions for animation
- Especially the play_sync() function, that allows to replace an animation by a new animation starting at the same point as where the old one was!
Last Edit 1.4.3:
- A history of active_states
- the function was_active to go with it
- A small edit that allows to change_state for all the pending states each frame
Last edit 1.4.2:
- Two small bugs corrected
- Static typing for everybody
- Now easier to call a change_state in the _on_enter functions
Last edit: 1.4.1
- adds arguments to a pending State
Last edit: 1.4.0
- fixes a bug when disabling a branch
- adds an active state list logic
- adds a few signals


View files Download Submit an issue Recent Edits