eco-state-machine 1.1 Scripts 2.1 Community
Submitted by user Gokudomatic; MIT; 2017-09-13
Finite state machine script that supports timers, condition evaluation and imbricated statements.
This script has no depency and should be compatible with any Godot version.
Installation:
Copy the fsm.gd script file in your project.
Usage:
You don't need to change your existing code. Simply add this code where you need the machine :
onready var my_fsm=preload("fsm.gd").new()
my_fsm.add_state("state1")
my_fsm.add_state("whatever state")
my_fsm.add_link("state1","whatever state","condition",[self,"my_condition1","expected value to switch"])
my_fsm.set_state("state1")
func my_condition1():
return some_value
Then in a loop, like _process(delta), call :
my_fsm.process(delta)
To catch the signal when the current state changes:
my_fsm.connect("state_changed",self,"on_state_changed")
More documentation and examples on the Github page.
View files Download Submit an issue Recent Edits