class BehaviorTree::Nop
An empty task that does not do anything. It requires N ticks to complete. It can be set to end with failure.
Public Class Methods
new(necessary_ticks = 1, completes_with_failure: false)
click to toggle source
Calls superclass method
# File lib/behavior_tree/tasks/nop.rb, line 10 def initialize(necessary_ticks = 1, completes_with_failure: false) raise ArgumentError, 'Should need at least one tick' if necessary_ticks < 1 super() @necessary_ticks = necessary_ticks @completes_with_status = completes_with_failure ? NodeStatus::FAILURE : NodeStatus::SUCCESS reset_remaining_attempts end
Public Instance Methods
halt!()
click to toggle source
Calls superclass method
# File lib/behavior_tree/tasks/nop.rb, line 27 def halt! super reset_remaining_attempts end
on_tick()
click to toggle source
# File lib/behavior_tree/tasks/nop.rb, line 19 def on_tick @remaining_ticks -= 1 return if @remaining_ticks.positive? status.set @completes_with_status reset_remaining_attempts end
Private Instance Methods
reset_remaining_attempts()
click to toggle source
# File lib/behavior_tree/tasks/nop.rb, line 34 def reset_remaining_attempts @remaining_ticks = @necessary_ticks end