stealthy/mean_dude.gd

35 lines
900 B
GDScript

class_name MeanDude
extends CharacterBody2D
@export var blackboard: Blackboard
func _ready():
$BeehaveTree.blackboard = blackboard
go_to_interesting_spot()
func _physics_process(delta):
if not $Navigation.is_navigation_finished():
if not $Navigation.is_target_reachable():
go_to_interesting_spot()
var pos = $Navigation.get_next_path_position()
var dir = position.direction_to(pos)
$Navigation.velocity = dir * 1000
transform = transform.looking_at(pos)
func say_shit(shit):
print(self.name, ": ", shit)
func can_see_name(actor_name: String) -> bool:
return $Eyes.get_overlapping_bodies().any(func(b): return b.name == actor_name)
func go_to_interesting_spot() -> void:
$Navigation.target_position = get_tree().get_nodes_in_group("InterestingSpot").pick_random().position
func _on_navigation_velocity_computed(safe_velocity):
velocity = safe_velocity
move_and_slide()