Current section

Files

Jump to
erlang_behaviour_trees src default_tasks run_function_task.erl
Raw

src/default_tasks/run_function_task.erl

-module(run_function_task).
-include("../bt_engine/bt_node_behaviours/bt_nodes.hrl").
-behaviour(bt_task).
-export([
get_params/0,
run/3
]).
get_params() ->
["module", "function", "args"].
run(#{"module" := Module_key, "function" := Function_key, "args" := Args_key}, BB, _Event) ->
Module = list_to_atom(bt_blackboard:eval(Module_key, BB)),
Function = list_to_atom(bt_blackboard:eval(Function_key, BB)),
Args = bt_blackboard:eval(Args_key, BB),
{erlang:apply(Module, Function, Args), BB}.