This repository has been archived on 2026-05-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
instructions-clear/scripts/multiplayer/input.gd
T

19 lines
757 B
GDScript

extends MultiplayerSynchronizer
@export var direction: Vector2 = Vector2.ZERO
@export var walking: bool = false
@onready var _camera_pivot: Node3D = %CameraPivot
func _ready() -> void:
if multiplayer.is_server() or get_multiplayer_authority() != multiplayer.get_unique_id():
set_process(false)
set_physics_process(false)
return
func _physics_process(_delta: float) -> void:
var directional_input := Input.get_vector("move_right", "move_left", "move_forward", "move_back")
var camera_adjusted: Vector3 = (directional_input.x * _camera_pivot.global_basis.z) + (directional_input.y * _camera_pivot.global_basis.x)
direction = Vector2(camera_adjusted.x, camera_adjusted.z).rotated(PI / 2.0).normalized()
walking = Input.is_action_pressed("walk")