ai and game menu

This commit was merged in pull request #23.
This commit is contained in:
2026-05-30 14:56:28 +00:00
parent 6cb5104729
commit 55aea7bdc4
92 changed files with 32771 additions and 118 deletions

View File

@@ -2,7 +2,7 @@ extends CharacterBody3D
class_name AIBase
@export_group("Movement")
@export_group("Settings")
@export var speed: float = 4.0
var _enable_state_machine: bool = true
@export var enable_state_machine: bool:
@@ -11,10 +11,7 @@ var _enable_state_machine: bool = true
toggle_enable_state_machine()
get:
return _enable_state_machine
@onready var patrol_radius_shape: CollisionShape3D = $%PatrolRadiusShape
@onready var nav_agent: NavigationAgent3D = $%NavigationAgent3D
@onready var state_machine: StateMachine = $%StateMachine
@export var anim_player: AnimationPlayer
@export_group("Entities")
enum EntityType { HUMANOID, ANIMAL }
@@ -23,6 +20,9 @@ enum EntityType { HUMANOID, ANIMAL }
@export var allowed_biomes: Array[String] = []
@export_range(0.0, 100.0, 0.1) var spawn_uniqueness: float = 1.0
@onready var patrol_radius_shape: CollisionShape3D = $%PatrolRadiusShape
@onready var nav_agent: NavigationAgent3D = $%NavigationAgent3D
@onready var state_machine: StateMachine = $%StateMachine
func _ready() -> void:
randomize()
@@ -48,6 +48,11 @@ func _physics_process(delta: float) -> void:
velocity.x = direction.x * speed
velocity.z = direction.z * speed
if velocity.length_squared() > 0.1:
var look_dir = Vector3(velocity.x, 0, velocity.z)
var target_transform = global_transform.looking_at(global_position - look_dir, Vector3.UP)
global_transform = global_transform.interpolate_with(target_transform, delta * 10.0)
move_and_slide()
func navigate_to_random_point() -> void: