diff --git a/Scenes/bugbot_player.gd b/Scenes/bugbot_player.gd index 2ec0b06..a8f6269 100644 --- a/Scenes/bugbot_player.gd +++ b/Scenes/bugbot_player.gd @@ -7,6 +7,7 @@ extends CharacterBody3D ## 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_") @export var keyboard_move_forward : InputEventKey @@ -52,19 +53,24 @@ extends CharacterBody3D @export var joypad_place_marker : InputEventJoypadButton @export var joypad_exit_placement : InputEventJoypadButton +#endregion +#region Onready @onready var laser_beam : Node3D = $LaserBeamRoot as Node3D @onready var bug_marker : Node3D = $BugMarker as Node3D @onready var movement_speed_change_timer : Timer = $MovementSpeedChangeTimer as Timer @onready var exit_placement_timer : Timer = $ExitPlacementTimer as Timer @onready var camera : Camera3D = $CollisionShape3D/Camera3D +#endregion -var movement_speed : float = 5.0 +#region Private Properties +var _movement_speed : float = 5.0 -var stored_camera : Camera3D -var stored_mouse_mode : int = Input.MOUSE_MODE_CAPTURED -var stored_pause_status : bool = false -var raycast_collision : Dictionary +var _stored_camera : Camera3D +var _stored_mouse_mode : int = Input.MOUSE_MODE_CAPTURED +var _stored_pause_status : bool = false +var _raycast_collision : Dictionary +#endregion static func instantiate(tree:SceneTree) -> void: @@ -73,10 +79,10 @@ static func instantiate(tree:SceneTree) -> void: #region Initialisation func _enter_tree() -> void: - stored_camera = get_viewport().get_camera_3d() - stored_pause_status = get_tree().paused + _stored_camera = get_viewport().get_camera_3d() + _stored_pause_status = get_tree().paused get_tree().paused = true - stored_mouse_mode = Input.mouse_mode + _stored_mouse_mode = Input.mouse_mode Input.mouse_mode = Input.MOUSE_MODE_CAPTURED #region Movement Configuration @@ -201,16 +207,16 @@ func _exit_tree() -> void: InputMap.erase_action(&"bugbot_exit_placement") #endregion - Input.mouse_mode = stored_mouse_mode - get_tree().paused = stored_pause_status + Input.mouse_mode = _stored_mouse_mode + get_tree().paused = _stored_pause_status func _ready() -> void: camera.current = true - if stored_camera: - global_transform = stored_camera.global_transform - camera.fov = stored_camera.fov - camera.near = stored_camera.near - camera.far = stored_camera.far + if _stored_camera: + global_transform = _stored_camera.global_transform + camera.fov = _stored_camera.fov + camera.near = _stored_camera.near + camera.far = _stored_camera.far #endregion func _process(_delta:float) -> void: @@ -228,15 +234,15 @@ func _physics_process(_delta:float) -> void: func _calculate_movement_speed() -> void: if Input.is_action_pressed(&"bugbot_movement_speed_down") or Input.is_action_just_pressed(&"bugbot_movement_speed_down"): if movement_speed_change_timer.is_stopped(): - movement_speed /= 1.25 + _movement_speed /= 1.25 movement_speed_change_timer.start() elif Input.is_action_pressed(&"bugbot_movement_speed_up") or Input.is_action_just_pressed(&"bugbot_movement_speed_up"): if movement_speed_change_timer.is_stopped(): - movement_speed *= 1.25 + _movement_speed *= 1.25 movement_speed_change_timer.start() else: movement_speed_change_timer.stop() - movement_speed = clampf(movement_speed, 0.25, 100.0) + _movement_speed = clampf(_movement_speed, 0.25, 100.0) func _calculate_rotation(_delta:float) -> void: var rotation_velocity : Vector2 = Vector2( @@ -251,11 +257,11 @@ func _calculate_rotation(_delta:float) -> void: func _calculate_movement() -> void: var movement_vector_lateral : Vector2 = Input.get_vector(&"bugbot_move_left", &"bugbot_move_right", &"bugbot_move_forward", &"bugbot_move_backward") var movement_azimuth : float = Input.get_axis(&"bugbot_move_down", &"bugbot_move_up") - velocity = transform.basis * Vector3(movement_vector_lateral.x, movement_azimuth, movement_vector_lateral.y) * movement_speed + velocity = transform.basis * Vector3(movement_vector_lateral.x, movement_azimuth, movement_vector_lateral.y) * _movement_speed func _calculate_button_presses() -> void: - if Input.is_action_just_pressed(&"bugbot_place_marker") and raycast_collision: - print("Marker placed at ", raycast_collision["position"]) + if Input.is_action_just_pressed(&"bugbot_place_marker") and _raycast_collision: + print("Marker placed at ", _raycast_collision["position"]) if Input.is_action_just_released(&"bugbot_exit_placement"): exit_placement_timer.stop() @@ -270,9 +276,9 @@ func _raycast_to_world(): query.collide_with_areas = false query.collide_with_bodies = true query.exclude = [get_rid()] - raycast_collision = space.intersect_ray(query) - if raycast_collision: - var collision_point : Vector3 = raycast_collision["position"] + _raycast_collision = space.intersect_ray(query) + if _raycast_collision: + var collision_point : Vector3 = _raycast_collision["position"] var distance_to_collision : float = laser_beam.global_position.distance_to(collision_point) laser_beam.scale.z = distance_to_collision laser_beam.look_at(collision_point) @@ -281,8 +287,8 @@ func _raycast_to_world(): laser_beam.visible = false func _place_dummy_marker(): - if raycast_collision: - bug_marker.set_rotation_to_normal(raycast_collision["normal"]) + if _raycast_collision: + bug_marker.set_rotation_to_normal(_raycast_collision["normal"]) bug_marker.visible = true else: bug_marker.visible = false