Current section

Files

Jump to
erlang_behaviour_trees src samples tasks set_var_task.erl
Raw

src/samples/tasks/set_var_task.erl

-module(set_var_task).
-behavior(bt_task).
-export([
get_params/0,
run/3
]).
get_params() ->
["var", "value"].
run(#{"var" := Var_key, "value" := Value_key}, BB, _) ->
%% if already set, don't do anything
case blackboard:is_set(Var_key, BB) of
true ->
{success, BB};
false ->
Value = blackboard:eval(Value_key, BB),
io:format("Setting ~p to ~p~n", [Var_key, Value]),
NewBB = blackboard:write(Var_key, Value, BB),
{success, NewBB}
end.