Implemented physics interpolation

This commit is contained in:
2024-02-27 21:05:55 +01:00
parent ca7fa120ea
commit 489a14061a
23 changed files with 226 additions and 68 deletions

View File

@ -1,27 +1,33 @@
class_name PlayerManager
extends Node3D
var players = {}
var id_to_player = {}
func _ready():
Global.players = self
var timer := %UpdatePlayers as Timer
timer.timeout.connect(tick)
func tick():
PerformanceComponent.update_all_animations()
func add(player: Player):
if has(player.id):
return
add_child(player)
players[player.id] = player
id_to_player[player.id] = player
func get_player(id: String) -> Player:
return players[id] as Player
return id_to_player[id] as Player
func has(id: String) -> bool:
return players.has(id)
return id_to_player.has(id)
func remove(id: String):
if !players.has(id):
if !id_to_player.has(id):
return
players[id].queue_free()
players.erase(id)
id_to_player[id].queue_free()
id_to_player.erase(id)