WIP: Modifying the client node

This commit is contained in:
2025-02-17 13:57:31 +01:00
parent 687c2ae1f5
commit 1323dbf154
19 changed files with 906 additions and 41 deletions

View File

@ -25,31 +25,12 @@ func _ready() -> void:
if err != OK:
push_error("Couldn't load bullet spawner")
# Adding a node that should be used by the clients
client_node = Node3D.new()
client_node.name = "ClientNode"
add_child(client_node)
# add objects spawner
if not OS.has_feature("dedicated_server"):
err = _add_entry_screen()
if err != OK:
logger.error("Couldn't load the entry screen, err " + str(err))
func _process(delta: float) -> void:
if not multiplayer.is_server():
pass
#@rpc("call_local", "unreliable", "any_peer")p
#func _request_spawn():
#var id: int = multiplayer.get_remote_sender_id()
#_spawn_player(id)
#
#func _spawn_player(id: int):
#if multiplayer.is_server():
#player_spawner.spawn_players(id)
#var controlled_node: ServerNode = player_spawner.get_player_node(id)
#var position := controlled_node.shared_node.global_position
#_spawn_player_controller_node.rpc_id(id, position.x, position.y, position.z)
@rpc("any_peer", "call_local", "unreliable")
func _spawn_player_controller_node(x: float, y: float, z: float):

View File

@ -22,11 +22,12 @@ func _process(delta: float) -> void:
for player in server_node.players:
if not spawned_players.has(player):
logger.debug("Spawning a player with id: " + str(player))
var err := spawn_players(server_node.players[player])
if err != OK:
logger.error("Couldn't spawn a player, err: " + str(err))
else:
spawned_players[player] = 1
if player.has("side"):
var err := spawn_players(server_node.players[player])
if err != OK:
logger.error("Couldn't spawn a player, err: " + str(err))
else:
spawned_players[player] = 1
# -- Spawn a player node and sync it across all peers
func spawn_players(player_data: Dictionary) -> Error: