Bugbot now properly uses project settings to determine raycast length for marker placement.
This commit is contained in:
@@ -7,9 +7,6 @@ extends CharacterBody3D
|
||||
## Scene to use as the bug marker.
|
||||
@export_file("*.scn","*.tscn") var bug_marker : String
|
||||
|
||||
## Distance from camera to allow placing bug markers.
|
||||
@export_range(0.0, 100.0, 0.01, "or_greater", "suffix:m") var ray_length : float = 10.0
|
||||
|
||||
#region InputEvent Exports
|
||||
@export_group("Inputs")
|
||||
@export_subgroup("Keyboard", "keyboard_")
|
||||
@@ -66,6 +63,11 @@ extends CharacterBody3D
|
||||
@onready var __camera : Camera3D = $CollisionShape3D/Camera3D
|
||||
#endregion
|
||||
|
||||
#region Constants
|
||||
const DEFAULT_PRECISE_PLACEMENT_DISTANCE : float = 10.0
|
||||
const DEFAULT_ARBITRARY_PLACEMENT_DISTANCE : float = 2.5
|
||||
#endregion
|
||||
|
||||
#region Private Properties
|
||||
static var __bugbot_server : BugbotServerAPI
|
||||
static var __bug_marker_root : Node
|
||||
@@ -346,6 +348,7 @@ func __on_exit_placement_timer_timeout() -> void:
|
||||
queue_free()
|
||||
|
||||
func __raycast_to_world() -> void:
|
||||
var ray_length : float = ProjectSettings.get_setting("bugbot/bug_placement/precise_placement_distance", DEFAULT_PRECISE_PLACEMENT_DISTANCE)
|
||||
var space : PhysicsDirectSpaceState3D = get_world_3d().direct_space_state
|
||||
var query : PhysicsRayQueryParameters3D = PhysicsRayQueryParameters3D.create(global_position, global_position - global_transform.basis.z * ray_length)
|
||||
query.collide_with_areas = true
|
||||
|
||||
Reference in New Issue
Block a user