class BehaviorTree::TaskBase
A task (leaf) node.
Attributes
context[R]
Public Class Methods
new(procedure = nil, &block)
click to toggle source
Calls superclass method
BehaviorTree::NodeBase::new
# File lib/behavior_tree/tasks/task_base.rb, line 8 def initialize(procedure = nil, &block) validate_proc!(procedure, block) super() @task_block = block_given? ? block : procedure end
Public Instance Methods
on_tick()
click to toggle source
# File lib/behavior_tree/tasks/task_base.rb, line 16 def on_tick raise 'Node should be set to running' unless status.running? return unless @task_block.is_a?(Proc) if @task_block.lambda? args = [@context, self].take @task_block.arity @task_block.(*args) else instance_eval(&@task_block) end end