Implemented physics interpolation
This commit is contained in:
@ -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)
|
||||
|
Reference in New Issue
Block a user