Jido. BehaviorTree. Status
(Jido Behavior Tree v1.0.0)
View Source
Defines the status types returned by behavior tree nodes.
Every node in a behavior tree returns one of three possible statuses:
:success- The node completed successfully:failure- The node failed to complete:running- The node is still executing and needs more ticks
Additional error status is provided for exceptional cases:
{:error, reason}- An unexpected error occurred during execution
Summary
Functions
Returns true if the status indicates the node has completed (success or failure).
Returns true if the status indicates an error occurred.
Returns true if the status indicates failure.
Converts a Jido Action result to a behavior tree status.
Converts a boolean to a behavior tree status.
Inverts the status (success becomes failure, failure becomes success). Running and error statuses are unchanged.
Returns true if the status indicates the node is still running.
Returns true if the status indicates success.
Types
@type t() :: :success | :failure | :running | {:error, term()}
Functions
Returns true if the status indicates the node has completed (success or failure).
Examples
iex> Jido.BehaviorTree.Status.completed?(:success)
true
iex> Jido.BehaviorTree.Status.completed?(:failure)
true
iex> Jido.BehaviorTree.Status.completed?(:running)
false
Returns true if the status indicates an error occurred.
Examples
iex> Jido.BehaviorTree.Status.error?({:error, "something went wrong"})
true
iex> Jido.BehaviorTree.Status.error?(:failure)
false
Returns true if the status indicates failure.
Examples
iex> Jido.BehaviorTree.Status.failure?(:failure)
true
iex> Jido.BehaviorTree.Status.failure?(:success)
false
Converts a Jido Action result to a behavior tree status.
Examples
iex> Jido.BehaviorTree.Status.from_action_result({:ok, %{result: "success"}})
:success
iex> Jido.BehaviorTree.Status.from_action_result({:error, "failed"})
{:error, "failed"}
@spec from_boolean(boolean()) :: :success | :failure
Converts a boolean to a behavior tree status.
Examples
iex> Jido.BehaviorTree.Status.from_boolean(true)
:success
iex> Jido.BehaviorTree.Status.from_boolean(false)
:failure
Inverts the status (success becomes failure, failure becomes success). Running and error statuses are unchanged.
Examples
iex> Jido.BehaviorTree.Status.invert(:success)
:failure
iex> Jido.BehaviorTree.Status.invert(:failure)
:success
iex> Jido.BehaviorTree.Status.invert(:running)
:running
Returns true if the status indicates the node is still running.
Examples
iex> Jido.BehaviorTree.Status.running?(:running)
true
iex> Jido.BehaviorTree.Status.running?(:success)
false
Returns true if the status indicates success.
Examples
iex> Jido.BehaviorTree.Status.success?(:success)
true
iex> Jido.BehaviorTree.Status.success?(:failure)
false