Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion addons/behaviour_toolkit/behaviour_tree/bt_leaf.gd
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
class_name BTLeaf extends BTBehaviour


func tick(_actor: Node, _blackboard: Blackboard) -> BTStatus:
func tick(_delta: float, _actor: Node, _blackboard: Blackboard) -> BTStatus:
return BTStatus.SUCCESS
3 changes: 1 addition & 2 deletions addons/behaviour_toolkit/behaviour_tree/bt_root.gd
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,7 @@ func _process_code(delta: float) -> void:
if not active:
return

blackboard.set_value("delta", delta)
current_status = entry_point.tick(actor, blackboard)
current_status = entry_point.tick(delta, actor, blackboard)


func _create_local_blackboard() -> Blackboard:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ class_name BTIntegratedFSM extends BTComposite
@onready var state_machine: FiniteStateMachine = _get_machine()


func tick(_actor: Node, _blackboard: Blackboard) -> BTStatus:
func tick(_delta: float, _actor: Node, _blackboard: Blackboard) -> BTStatus:
if state_machine.active == false:
state_machine.start()

Expand Down
30 changes: 15 additions & 15 deletions addons/behaviour_toolkit/behaviour_tree/composites/bt_random.gd
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,18 @@ var active_leave: BTBehaviour


func _ready():
if use_seed:
rng.seed = hash(seed)


func tick(actor: Node, blackboard: Blackboard):
if active_leave == null:
active_leave = leaves[rng.randi() % leaves.size()]
var response = active_leave.tick(actor, blackboard)
if response == BTStatus.RUNNING:
return response
active_leave = null
return response
if use_seed:
rng.seed = hash(seed)


func tick(delta: float, actor: Node, blackboard: Blackboard):
if active_leave == null:
active_leave = leaves[rng.randi() % leaves.size()]
var response = active_leave.tick(delta, actor, blackboard)
if response == BTStatus.RUNNING:
return response
active_leave = null
return response
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ var is_shuffled: bool = false
var current_leaf: int = 0


func tick(actor: Node, blackboard: Blackboard):
func tick(delta: float, actor: Node, blackboard: Blackboard):
if not is_shuffled:
leaves.shuffle()

Expand All @@ -16,7 +16,7 @@ func tick(actor: Node, blackboard: Blackboard):
is_shuffled = false
return BTStatus.FAILURE

var response = leaves[current_leaf].tick(actor, blackboard)
var response = leaves[current_leaf].tick(delta, actor, blackboard)

if response == BTStatus.SUCCESS:
current_leaf = 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ var is_shuffled: bool = false
var current_leaf: int = 0


func tick(actor: Node, blackboard: Blackboard):
func tick(delta: float, actor: Node, blackboard: Blackboard):
if not is_shuffled:
leaves.shuffle()

Expand All @@ -16,7 +16,7 @@ func tick(actor: Node, blackboard: Blackboard):
is_shuffled = false
return BTStatus.SUCCESS

var response = leaves[current_leaf].tick(actor, blackboard)
var response = leaves[current_leaf].tick(delta, actor, blackboard)

if response == BTStatus.RUNNING:
return response
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ class_name BTSelector extends BTComposite
var current_leaf: int = 0


func tick(actor: Node, blackboard: Blackboard):
func tick(delta: float, actor: Node, blackboard: Blackboard):
if current_leaf > leaves.size() -1:
current_leaf = 0
return BTStatus.FAILURE

var response = leaves[current_leaf].tick(actor, blackboard)
var response = leaves[current_leaf].tick(delta, actor, blackboard)

if response == BTStatus.SUCCESS:
current_leaf = 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ class_name BTSequence extends BTComposite
var current_leaf: int = 0


func tick(actor: Node, blackboard: Blackboard):
func tick(delta: float, actor: Node, blackboard: Blackboard):
if current_leaf > leaves.size() -1:
current_leaf = 0
return BTStatus.SUCCESS

var response = leaves[current_leaf].tick(actor, blackboard)
var response = leaves[current_leaf].tick(delta, actor, blackboard)

if response == BTStatus.RUNNING:
return response
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ enum ParallelPolicy {
@onready var responses: Dictionary = {}


func tick(actor: Node, blackboard: Blackboard):
func tick(delta: float, actor: Node, blackboard: Blackboard):
var leave_counter = 0
for leave in leaves:
# If the Parrallel is synchronized, skip leaves that have already returned SUCCESS.
if synchronize and (responses.get(leave_counter) == BTStatus.SUCCESS):
leave_counter += 1
continue

var response = leave.tick(actor, blackboard)
var response = leave.tick(delta, actor, blackboard)
responses[leave_counter] = response
leave_counter += 1

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ class_name BTAlwaysFail extends BTDecorator
## The leaf will always fail after running.


func tick(actor: Node, blackboard: Blackboard):
var response = leaf.tick(actor, blackboard)
func tick(delta: float, actor: Node, blackboard: Blackboard):
var response = leaf.tick(delta, actor, blackboard)

if response == BTStatus.RUNNING:
return BTStatus.RUNNING
if response == BTStatus.RUNNING:
return BTStatus.RUNNING

return BTStatus.FAILURE
return BTStatus.FAILURE
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ class_name BTAlwaysSucceed extends BTDecorator
## The leaf will always succeed after running.


func tick(actor: Node, blackboard: Blackboard):
var response = leaf.tick(actor, blackboard)
func tick(delta: float, actor: Node, blackboard: Blackboard):
var response = leaf.tick(delta, actor, blackboard)

if response == BTStatus.RUNNING:
return BTStatus.RUNNING
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ class_name BTInverter extends BTDecorator
## The result of the leaf is inverted.


func tick(actor: Node, blackboard: Blackboard):
var response = leaf.tick(actor, blackboard)
func tick(delta: float, actor: Node, blackboard: Blackboard):
var response = leaf.tick(delta, actor, blackboard)

if response == BTStatus.SUCCESS:
return BTStatus.FAILURE
if response == BTStatus.FAILURE:
return BTStatus.SUCCESS
if response == BTStatus.SUCCESS:
return BTStatus.FAILURE
if response == BTStatus.FAILURE:
return BTStatus.SUCCESS

return BTStatus.RUNNING
return BTStatus.RUNNING
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ class_name BTLimiter extends BTDecorator
@onready var cache_key = 'limiter_%s' % self.get_instance_id()


func tick(actor: Node, blackboard: Blackboard):
func tick(delta: float, actor: Node, blackboard: Blackboard):
var current_count = blackboard.get_value(cache_key)
if current_count == null:
current_count = 0

if current_count < limit:
var response = leaf.tick(actor, blackboard)
var response = leaf.tick(delta, actor, blackboard)
if response == BTStatus.RUNNING:
return response

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ class_name BTRepeat extends BTDecorator
@onready var cache_key = 'repeat_%s' % self.get_instance_id()


func tick(actor: Node, blackboard: Blackboard):
func tick(delta: float, actor: Node, blackboard: Blackboard):
var current_count = blackboard.get_value(cache_key)
if current_count == null:
current_count = 0

if current_count <= repetition:
var response = leaf.tick(actor, blackboard)
var response = leaf.tick(delta, actor, blackboard)

if response == BTStatus.RUNNING:
return response
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ enum CallTarget {
@export var custom_target: Node


func tick(actor: Node, blackboard: Blackboard):
func tick(delta: float, actor: Node, blackboard: Blackboard):
var target

match target_type:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ enum ConditionType {
@export var custom_target: Node


func tick(actor: Node, _blackboard: Blackboard):
func tick(delta: float, actor: Node, _blackboard: Blackboard):
var target: Node
match target_type:
ConditionTarget.ACTOR:
Expand Down
6 changes: 3 additions & 3 deletions addons/behaviour_toolkit/behaviour_tree/leaves/leaf_event.gd
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ class_name LeafFSMEvent extends BTLeafIntegration
@export var return_status: BTStatus = BTStatus.SUCCESS


func tick(_actor: Node, _blackboard: Blackboard) -> BTStatus:
state_machine.fire_event(event)
return return_status
func tick(_delta: float, _actor: Node, _blackboard: Blackboard) -> BTStatus:
state_machine.fire_event(event)
return return_status
20 changes: 10 additions & 10 deletions addons/behaviour_toolkit/behaviour_tree/leaves/leaf_print.gd
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ class_name LeafPrint extends BTLeaf
@export var success: bool = true


func tick(actor: Node, blackboard: Blackboard):
if custom_text != "":
print(custom_text)
else:
print("Hello World!")
if success:
return BTStatus.SUCCESS
return BTStatus.FAILURE
func tick(delta: float, actor: Node, blackboard: Blackboard):
if custom_text != "":
print(custom_text)
else:
print("Hello World!")
if success:
return BTStatus.SUCCESS
return BTStatus.FAILURE
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ signal leaf_emitted(arguments_array: Array)



func tick(_actor: Node, _blackboard: Blackboard) -> BTStatus:
func tick(_delta: float, _actor: Node, _blackboard: Blackboard) -> BTStatus:
var target: Node

match target_type:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ func set_tween_value_type(value):
var tween : Tween


func tick(actor: Node, _blackboard: Blackboard) -> BTStatus:
func tick(delta: float, actor: Node, _blackboard: Blackboard) -> BTStatus:
# Initialize tween, if not already initialized
_init_tween(actor)

Expand Down
14 changes: 7 additions & 7 deletions addons/behaviour_toolkit/behaviour_tree/leaves/leaf_wait.gd
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ class_name LeafWait extends BTLeaf
var ticks: int = 0


func tick(_actor: Node, _blackboard: Blackboard):
if ticks < wait_for_ticks:
ticks += 1
return BTStatus.RUNNING
else:
ticks = 0
return BTStatus.SUCCESS
func tick(_delta: float, _actor: Node, _blackboard: Blackboard):
if ticks < wait_for_ticks:
ticks += 1
return BTStatus.RUNNING
else:
ticks = 0
return BTStatus.SUCCESS
7 changes: 2 additions & 5 deletions addons/behaviour_toolkit/finite_state_machine/fsm.gd
Original file line number Diff line number Diff line change
Expand Up @@ -105,9 +105,6 @@ func _process_code(delta: float) -> void:
if states.size() == 0:
return

# Set the delta time
blackboard.set_value("delta", delta)

# The current event
var event: String = ""

Expand All @@ -122,15 +119,15 @@ func _process_code(delta: float) -> void:
for transition in active_state.transitions:
if transition.is_valid(actor, blackboard) or transition.is_valid_event(event):
# Process the transition
transition._on_transition(actor, blackboard)
transition._on_transition(delta, actor, blackboard)

# Change the current state
change_state(transition.get_next_state())

break

# Process the current state
active_state._on_update(actor, blackboard)
active_state._on_update(delta, actor, blackboard)


## Changes the current state and calls the appropriate methods like _on_exit and _on_enter.
Expand Down
2 changes: 1 addition & 1 deletion addons/behaviour_toolkit/finite_state_machine/fsm_state.gd
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ func _on_enter(_actor: Node, _blackboard: Blackboard) -> void:


## Executes every process call, if the state is active.
func _on_update(_actor: Node, _blackboard: Blackboard) -> void:
func _on_update(_delta: float, _actor: Node, _blackboard: Blackboard) -> void:
pass


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ func _on_enter(_actor: Node, _blackboard: Blackboard) -> void:


## Executes every process call, if the state is active.
func _on_update(_actor: Node, _blackboard: Blackboard) -> void:
func _on_update(_delta: float, _actor: Node, _blackboard: Blackboard) -> void:
if behaviour_tree.current_status == on_status:
if fire_event_on_status:
get_parent().fire_event(event)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ func _on_enter(_actor: Node, _blackboard: Blackboard) -> void:


## Executes every process call, if the state is active.
func _on_update(_actor: Node, _blackboard: Blackboard) -> void:
func _on_update(_delta: float, _actor: Node, _blackboard: Blackboard) -> void:
pass


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class_name FSMTransition extends BehaviourToolkit


## Executed when the transition is taken.
func _on_transition(_actor: Node, _blackboard: Blackboard) -> void:
func _on_transition(_delta: float, _actor: Node, _blackboard: Blackboard) -> void:
pass


Expand Down
2 changes: 1 addition & 1 deletion examples/behaviour_example/NPCs/leaves/IsAlive.gd
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
extends BTLeaf


func tick(actor: Node, _blackboard: Blackboard) -> BTStatus:
func tick(_delta: float, actor: Node, _blackboard: Blackboard) -> BTStatus:
if actor.alive:
return BTStatus.SUCCESS

Expand Down
2 changes: 1 addition & 1 deletion examples/behaviour_example/NPCs/leaves/IsHydrated.gd
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
extends BTLeaf


func tick(actor: Node, _blackboard: Blackboard) -> BTStatus:
func tick(_delta: float, actor: Node, _blackboard: Blackboard) -> BTStatus:
if actor.thirst == 0:
return BTStatus.FAILURE

Expand Down
Loading