-module(priority).
|
|
|
|
-include("eBhv3.hrl").
|
|
|
|
-export([tick/2]).
|
|
|
|
-spec tick(bt_node(), bt_state()) -> {bt_status(), bt_state()}.
|
|
tick(#{children := Children} = _BTNode, BTState) ->
|
|
tick_1(Children, BTState).
|
|
|
|
tick_1([ChildID | T], BTState) ->
|
|
case base_node:execute(ChildID, BTState) of
|
|
{?BT_FAILURE, BTState1} ->
|
|
tick_1(T, BTState1);
|
|
{BTStatus, BTState1} ->
|
|
{BTStatus, BTState1}
|
|
end;
|
|
tick_1([], BTState) ->
|
|
{?BT_FAILURE, BTState}.
|