Reorganized file structure

This commit is contained in:
2024-02-13 12:02:17 +01:00
parent 7347c85ca7
commit bbef2a0a4a
5 changed files with 1 additions and 1 deletions

View File

@ -0,0 +1,2 @@
class_name Controller
extends Node

View File

@ -0,0 +1,34 @@
class_name PlayerController
extends Controller
## The character that we're controlling.
var player: Player
## We need the movement component to check if we can perform certain actions.
var movement: MovementComponent
func _init(new_player: Player):
player = new_player
movement = player.find_child("Movement")
func _unhandled_input(event):
if Global.interacting_with_ui:
return
# Calculate the direction
var move := Input.get_vector("move_left", "move_right", "move_forward", "move_backward")
var direction := (Global.camera.global_basis * Vector3(move.x, 0, move.y))
direction.y = 0
direction = direction.normalized()
# Notify components
player.set_direction(direction)
if event.is_action_pressed("jump") && movement && movement.can_jump():
player.jump()
if event.is_action_pressed("dash"):
player.dash()
if event.is_action_pressed("attack"):
player.attack()

View File

@ -0,0 +1,25 @@
class_name ProxyController
extends Controller
## The character that we're controlling.
var player: Player
## The authoritative position on the server.
var server_position: Vector3
func _init(new_player: Player):
player = new_player
func _ready():
server_position = player.position
func _process(_delta):
var move := server_position - player.position
move.y = 0.0
if move.length_squared() < 0.01:
player.set_direction(Vector3.ZERO)
return
var direction := Vector3(move.x, 0, move.z).normalized()
player.set_direction(direction)