README
This commit is contained in:
parent
483161d330
commit
296cb41e45
1
README
1
README
@ -1 +0,0 @@
|
|||||||
icon: made by Freepik from https://www.flaticon.com, license: Creative Commons BY 3.0
|
|
54
README.md
Normal file
54
README.md
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
# Description
|
||||||
|
TODO
|
||||||
|
# How to use
|
||||||
|
- Add a Node2D node named "StateMachine" with the script state_machine.gd
|
||||||
|
- Initialize the states, initial state and conditions:
|
||||||
|
{{{
|
||||||
|
$StateMachine.add_state("idle")
|
||||||
|
$StateMachine.add_state("hurt")
|
||||||
|
$StateMachine.add_state("dead")
|
||||||
|
$StateMachine.set_init_state("idle")
|
||||||
|
$StateMachine.add_transition("idle", "hurt", [], "fire")
|
||||||
|
$StateMachine.add_transition("hurt", "dead", ["has_stuff_been_handled", "is_dead"])
|
||||||
|
$StateMachine.add_transition("hurt", "idle", ["has_stuff_been_handled"])
|
||||||
|
}}}
|
||||||
|
|
||||||
|
- Trigger an event
|
||||||
|
{{{
|
||||||
|
$StateMachine.trigger("fire")
|
||||||
|
}}}
|
||||||
|
|
||||||
|
- Add a condition: it's just a func returning a bool
|
||||||
|
{{{
|
||||||
|
def has_stuff_been_handled():
|
||||||
|
return true
|
||||||
|
}}}
|
||||||
|
|
||||||
|
- Add callbacks for state entering/update/exiting: just add the state name in on_XXXXX_state_YYYY()
|
||||||
|
{{{
|
||||||
|
func on_idle_state_enter():
|
||||||
|
pass
|
||||||
|
|
||||||
|
func on_idle_state_update(delta):
|
||||||
|
pass
|
||||||
|
|
||||||
|
func on_idle_state_exit():
|
||||||
|
pass
|
||||||
|
}}}
|
||||||
|
- Enabling debug mode (logs when changing states)
|
||||||
|
{{{
|
||||||
|
$StateMachine.set_debug_enabled(true)
|
||||||
|
}}}
|
||||||
|
|
||||||
|
- Get the current state
|
||||||
|
{{{
|
||||||
|
$StateMachine.get_current_state()
|
||||||
|
}}}
|
||||||
|
|
||||||
|
- Get the last known state (before the current one)
|
||||||
|
{{{
|
||||||
|
$StateMachine.get_last_state()
|
||||||
|
}}}
|
||||||
|
|
||||||
|
# Credits
|
||||||
|
icon: made by Freepik from https://www.flaticon.com, license: Creative Commons BY 3.0
|
Loading…
x
Reference in New Issue
Block a user