2022-11-01 20:31:22 +00:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-04-10 14:57:36 +00:00
<class name= "LimboState" inherits= "Node" version= "4.1" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../../../doc/class.xsd" >
2022-11-01 20:31:22 +00:00
<brief_description >
2022-11-04 12:27:09 +00:00
A State node for Hierarchical State Machine (HSM).
2022-11-01 20:31:22 +00:00
</brief_description>
<description >
</description>
<tutorials >
</tutorials>
<methods >
<method name= "_enter" qualifiers= "virtual" >
<return type= "void" />
<description >
2022-11-04 12:27:09 +00:00
Called when state is entered.
2022-11-01 20:31:22 +00:00
</description>
</method>
<method name= "_exit" qualifiers= "virtual" >
<return type= "void" />
<description >
2022-11-04 12:27:09 +00:00
Called when state is exited.
2022-11-01 20:31:22 +00:00
</description>
</method>
<method name= "_setup" qualifiers= "virtual" >
<return type= "void" />
<description >
2022-11-04 12:27:09 +00:00
Called once during intialization.
2022-11-01 20:31:22 +00:00
</description>
</method>
<method name= "_update" qualifiers= "virtual" >
<return type= "void" />
2023-04-10 14:57:36 +00:00
<param index= "0" name= "p_delta" type= "float" />
2022-11-01 20:31:22 +00:00
<description >
2022-11-04 12:27:09 +00:00
Called during update.
2022-11-01 20:31:22 +00:00
</description>
</method>
<method name= "add_event_handler" >
<return type= "void" />
2023-04-10 14:57:36 +00:00
<param index= "0" name= "p_event" type= "String" />
<param index= "1" name= "p_handler" type= "Callable" />
2022-11-01 20:31:22 +00:00
<description >
2022-11-04 12:27:09 +00:00
Register [code]p_method[/code] that will be called when [code]p_event[/code] happens. Method must belong to the state.
2022-11-01 20:31:22 +00:00
</description>
</method>
<method name= "call_on_enter" >
<return type= "LimboState" />
2023-04-10 14:57:36 +00:00
<param index= "0" name= "p_callable" type= "Callable" />
2022-11-01 20:31:22 +00:00
<description >
2022-11-04 12:27:09 +00:00
A chained method that connects [signal entered] signal to a [code]p_method[/code] on a [p_object].
2022-11-01 20:31:22 +00:00
</description>
</method>
<method name= "call_on_exit" >
<return type= "LimboState" />
2023-04-10 14:57:36 +00:00
<param index= "0" name= "p_callable" type= "Callable" />
2022-11-01 20:31:22 +00:00
<description >
2022-11-04 12:27:09 +00:00
A chained method that connects [signal exited] signal to a [code]p_method[/code] on a [p_object].
2022-11-01 20:31:22 +00:00
</description>
</method>
<method name= "call_on_update" >
<return type= "LimboState" />
2023-04-10 14:57:36 +00:00
<param index= "0" name= "p_callable" type= "Callable" />
2022-11-01 20:31:22 +00:00
<description >
2022-11-04 12:27:09 +00:00
A chained method that connects [signal updated] signal to a [code]p_method[/code] on a [p_object].
2022-11-01 20:31:22 +00:00
</description>
</method>
2023-04-10 14:57:36 +00:00
<method name= "clear_guard" >
2022-11-01 20:31:22 +00:00
<return type= "void" />
<description >
2023-04-10 14:57:36 +00:00
Removes state's guard function that was set by [method set_guard].
2022-11-01 20:31:22 +00:00
</description>
</method>
<method name= "dispatch" >
<return type= "bool" />
2023-04-10 14:57:36 +00:00
<param index= "0" name= "p_event" type= "String" />
<param index= "1" name= "p_cargo" type= "Variant" default= "null" />
2022-11-01 20:31:22 +00:00
<description >
2022-11-04 12:27:09 +00:00
Dispatches recursively a state machine event named [code]p_event[/code] with an optional argument [code]p_cargo[/code]. Returns [code]true[/code] if event was consumed.
2023-04-10 14:57:36 +00:00
Events propagate from the leaf state to the root. Propagation stops as soon as some state consumes the event. States will consume event if they have a transition associated with it, or an event handler. See also [method add_event_handler].
2022-11-01 20:31:22 +00:00
</description>
</method>
<method name= "get_root" qualifiers= "const" >
<return type= "LimboState" />
<description >
2022-11-04 12:27:09 +00:00
Returns the root [LimboState].
2022-11-01 20:31:22 +00:00
</description>
</method>
<method name= "is_active" qualifiers= "const" >
<return type= "bool" />
<description >
2022-11-04 12:27:09 +00:00
Returns [code]true[/code] if it is currently active, i.e. it is the active substate of the parent [LimboHSM].
2022-11-01 20:31:22 +00:00
</description>
</method>
<method name= "named" >
<return type= "LimboState" />
2023-04-10 14:57:36 +00:00
<param index= "0" name= "p_name" type= "String" />
2022-11-01 20:31:22 +00:00
<description >
2022-11-04 12:27:09 +00:00
A chained method that sets the name of this state.
2022-11-01 20:31:22 +00:00
</description>
</method>
2023-04-10 14:57:36 +00:00
<method name= "set_guard" >
2022-11-01 20:31:22 +00:00
<return type= "void" />
2023-04-10 14:57:36 +00:00
<param index= "0" name= "p_guard_callable" type= "Callable" />
2022-11-01 20:31:22 +00:00
<description >
2023-04-10 14:57:36 +00:00
Sets the guard function. It is a function that will be called each time a transition to this state should happen. If that function returns [code]false[/code], the transition will not be allowed.
2022-11-01 20:31:22 +00:00
</description>
</method>
</methods>
<members >
<member name= "EVENT_FINISHED" type= "String" setter= "" getter= "event_finished" >
2022-11-04 12:27:09 +00:00
A commonly used event that signifies that the state has finished work.
2022-11-01 20:31:22 +00:00
</member>
2023-04-10 14:57:36 +00:00
<member name= "agent" type= "Node" setter= "set_agent" getter= "get_agent" >
2022-11-04 12:27:09 +00:00
An agent that is associated with the state. Assinged by initialization.
2022-11-01 20:31:22 +00:00
</member>
<member name= "blackboard" type= "Blackboard" setter= "" getter= "get_blackboard" >
2022-11-04 12:27:09 +00:00
A key/value data store shared by states of the state machine this state belongs to.
2022-11-01 20:31:22 +00:00
</member>
</members>
<signals >
<signal name= "entered" >
<description >
2022-11-04 12:27:09 +00:00
Emitted when the state is entered.
2022-11-01 20:31:22 +00:00
</description>
</signal>
<signal name= "exited" >
<description >
2022-11-04 12:27:09 +00:00
Emitted when the state is exited.
2022-11-01 20:31:22 +00:00
</description>
</signal>
<signal name= "setup" >
<description >
2022-11-04 12:27:09 +00:00
Emitted when the state is initialized.
2022-11-01 20:31:22 +00:00
</description>
</signal>
<signal name= "updated" >
2023-04-10 14:57:36 +00:00
<param index= "0" name= "p_delta" type= "float" />
2022-11-01 20:31:22 +00:00
<description >
2022-11-04 12:27:09 +00:00
Emitted when the state is updated.
2022-11-01 20:31:22 +00:00
</description>
</signal>
</signals>
</class>