extends CharacterBody3D var nav_agent: NavigationAgent3D var shirt_shader: ShaderMaterial var meshI: MeshInstance3D var start_pos: Vector3 func _ready() -> void: nav_agent = $NavigationAgent3D meshI = $MeshInstance3D shirt_shader = meshI.get_surface_override_material(1) BuildManager.object_placed.connect(_on_object_placed) set_random_shirt() start_pos = global_position #nav_agent.target_position = Vector3(-15.955,3.486,-58.942) func _physics_process(delta: float) -> void: var new_velocity = global_position.direction_to(nav_agent.get_next_path_position()) * 5.0 look_at(nav_agent.target_position) velocity = new_velocity move_and_slide() func _on_object_placed(build_position): nav_agent.target_position = Vector3(-14.305,3.486,-59.836) func set_random_shirt(): var new_shirt_color = Vector3(randf(),randf(),randf()) shirt_shader.set_shader_parameter("shirt_color", new_shirt_color) pass func _on_navigation_agent_3d_navigation_finished() -> void: nav_agent.target_position = start_pos