25 lines
765 B
GDScript3
Raw Normal View History

2024-02-07 23:04:19 +01:00
class_name ProxyController
extends Controller
2024-02-27 21:05:55 +01:00
@export var interpolation_speed := 20.0
2024-02-07 23:04:19 +01:00
2024-02-15 18:06:44 +01:00
var player: Player
2024-02-27 21:05:55 +01:00
var movement: MovementComponent
2024-02-07 23:04:19 +01:00
var server_position: Vector3
func _init(new_player: Player):
player = new_player
2024-02-15 16:28:27 +01:00
name = "Controller"
2024-02-27 21:05:55 +01:00
process_physics_priority = 1
2024-02-07 23:04:19 +01:00
func _ready():
2024-02-27 21:13:27 +01:00
movement = player.movement
2024-02-07 23:04:19 +01:00
server_position = player.position
2024-02-23 20:13:46 +01:00
func _physics_process(delta: float):
2024-02-27 21:05:55 +01:00
if absf(server_position.x - movement.physics_position.x) < 0.001 && absf(server_position.z - movement.physics_position.z) < 0.001:
2024-02-26 23:50:56 +01:00
return
2024-02-27 21:05:55 +01:00
2024-02-15 18:06:44 +01:00
var time := interpolation_speed * delta
2024-02-27 21:05:55 +01:00
movement.physics_position.x = Math.dampf(movement.physics_position.x, server_position.x, time)
movement.physics_position.z = Math.dampf(movement.physics_position.z, server_position.z, time)