25 lines
545 B
GDScript
25 lines
545 B
GDScript
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) |