Improved player manager
This commit is contained in:
@ -21,9 +21,9 @@ func handle_packet(data: PackedByteArray, _peer: PacketPeer):
|
||||
|
||||
print("[%s] Add player: %s %s @ %v" % [Global.username, player_id, player_name, server_position])
|
||||
|
||||
var player := spawn_player()
|
||||
var player := spawn_player(player_id)
|
||||
player.position = server_position
|
||||
player.set_character_name(player_id)
|
||||
player.set_character_name(player_name)
|
||||
|
||||
if player_id == Global.account_id:
|
||||
Global.player = player
|
||||
@ -35,7 +35,8 @@ func handle_packet(data: PackedByteArray, _peer: PacketPeer):
|
||||
player.controller.character = player
|
||||
player.add_child(player.controller)
|
||||
|
||||
func spawn_player() -> Player:
|
||||
func spawn_player(id: String) -> Player:
|
||||
var player = player_scene.instantiate()
|
||||
%Players.add_child(player)
|
||||
player.id = id
|
||||
%Players.add(player)
|
||||
return player
|
||||
|
@ -13,5 +13,5 @@ func on_jump():
|
||||
|
||||
func handle_packet(data: PackedByteArray, _peer: PacketPeer):
|
||||
var player_id := data.get_string_from_ascii()
|
||||
var player := %Players.get_node(player_id)
|
||||
var player := Global.players.get_player(player_id)
|
||||
player.jump()
|
||||
|
@ -15,7 +15,7 @@ func handle_packet(data: PackedByteArray, _peer: PacketPeer):
|
||||
# var y := buffer.get_float()
|
||||
var z := buffer.get_float()
|
||||
|
||||
var player := %Players.get_node(player_id)
|
||||
var player := Global.players.get_player(player_id)
|
||||
var controller := player.controller as ProxyController
|
||||
controller.server_position.x = x
|
||||
controller.server_position.z = z
|
||||
|
@ -3,10 +3,4 @@ extends PacketHandler
|
||||
func handle_packet(data: PackedByteArray, _peer: PacketPeer):
|
||||
var player_id := data.get_string_from_ascii()
|
||||
print("[%s] Remove player: %s" % [Global.username, player_id])
|
||||
|
||||
var player := %Players.get_node(player_id)
|
||||
|
||||
if is_instance_valid(player):
|
||||
player.queue_free()
|
||||
else:
|
||||
push_warning("PlayerRemove: Player with ID %s doesn't exist")
|
||||
%Players.remove(player_id)
|
Reference in New Issue
Block a user