WIP: Handle player disconnected
This commit is contained in:
parent
c877e81562
commit
f61b961d42
@ -26,9 +26,7 @@ func _ready() -> void:
|
||||
if err != OK:
|
||||
push_error("Couldn't load object spawner")
|
||||
# add objects spawner
|
||||
if multiplayer.is_server():
|
||||
_spawn_player(1)
|
||||
else:
|
||||
if not OS.has_feature("dedicated_server"):
|
||||
_request_spawn.rpc_id(1, multiplayer.get_unique_id())
|
||||
pass # Replace with function body.
|
||||
|
||||
|
@ -12,7 +12,8 @@ func _ready() -> void:
|
||||
var err := GameServerManager.create_server(player_manager)
|
||||
if err != OK:
|
||||
push_error("couldn't create a server")
|
||||
change_level.call_deferred(load(path))
|
||||
change_level.call_deferred(path)
|
||||
print(get_tree().get_root())
|
||||
else:
|
||||
var map_dir := DirAccess.open("res://scenes/maps/maps/")
|
||||
if map_dir:
|
||||
@ -45,18 +46,26 @@ func _on_create_button_pressed() -> void:
|
||||
if err != OK:
|
||||
push_error("couldn't create a server")
|
||||
$UI.hide()
|
||||
change_level.call_deferred(load(path))
|
||||
change_level.call_deferred(path)
|
||||
|
||||
# Call this function deferred and only on the main authority (server).
|
||||
func change_level(scene: PackedScene):
|
||||
|
||||
func change_level(path: String):
|
||||
# Remove old level if any.
|
||||
var level = $LevelLoader/CurrentLevel
|
||||
print("cleaning up the mount node")
|
||||
for c in level.get_children():
|
||||
level.remove_child(c)
|
||||
c.queue_free()
|
||||
# Add new level.
|
||||
level.add_child(scene.instantiate())
|
||||
if not ResourceLoader.exists(path):
|
||||
print(ERR_DOES_NOT_EXIST)
|
||||
var scene: PackedScene = ResourceLoader.load(path)
|
||||
if scene.can_instantiate():
|
||||
var node: Node3D = scene.instantiate()
|
||||
print("loading map: " + node.name)
|
||||
level.add_child(node)
|
||||
else:
|
||||
print("Can't initialize")
|
||||
|
||||
|
||||
func _on_text_edit_text_changed() -> void:
|
||||
|
@ -34,9 +34,8 @@ func _on_player_disconnected(id):
|
||||
remove_player.rpc_id(1, id)
|
||||
|
||||
func _on_player_connected(id):
|
||||
pass
|
||||
#if multiplayer.is_server():
|
||||
#GameServerManager.load_map.rpc_id(id, GameServerManager.current_map)
|
||||
if multiplayer.is_server():
|
||||
print("Player is connected with id: " + str(id))
|
||||
|
||||
func _ready() -> void:
|
||||
multiplayer.peer_connected.connect(_on_player_connected)
|
||||
@ -66,7 +65,8 @@ func create_server(player_data: PlayerManager) -> Error:
|
||||
|
||||
func join_server(player_data: PlayerManager, ip: String, port: int) -> Error:
|
||||
var peer = ENetMultiplayerPeer.new()
|
||||
var err = peer.create_client("127.0.0.1", 27015)
|
||||
print("trying to connect to: " + ip + ":" + str(port))
|
||||
var err = peer.create_client(ip, port)
|
||||
if err != OK:
|
||||
return err
|
||||
player_state_global.id = multiplayer.get_remote_sender_id()
|
||||
|
Loading…
x
Reference in New Issue
Block a user