diff options
| author | Anson Bridges <bridges.anson@gmail.com> | 2022-08-31 17:19:49 -0700 |
|---|---|---|
| committer | Anson Bridges <bridges.anson@gmail.com> | 2022-08-31 17:19:49 -0700 |
| commit | e57103a4f99cdc0693471fe772dc7893ff65e855 (patch) | |
| tree | 790c0767197adf7ffc6e61c4b059cfdff0c62b7b /scripts/ClientUI.gd | |
| parent | d3998186c9795f2a85148cd5bcfa1bd5b6226cfb (diff) | |
added local servers
Diffstat (limited to 'scripts/ClientUI.gd')
| -rw-r--r-- | scripts/ClientUI.gd | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/scripts/ClientUI.gd b/scripts/ClientUI.gd index 6a3eb41..32e7269 100644 --- a/scripts/ClientUI.gd +++ b/scripts/ClientUI.gd @@ -2,26 +2,53 @@ extends Node2D var client : NetworkedMultiplayerENet var world +var local_server_tree = null +var is_local = false func _ready(): world = preload("res://scenes/GameBase.tscn").instance() - get_tree().connect("network_peer_connected", self, "_player_connected") - get_tree().connect("network_peer_disconnected", self, "_player_disconnected") + #get_tree().connect("network_peer_connected", self, "_player_connected") + #get_tree().connect("network_peer_disconnected", self, "_player_disconnected") get_tree().connect("connected_to_server", self, "_connection_successful") get_tree().connect("connection_failed", self, "_connected_fail") - get_tree().connect("server_disconnected", world, "_server_disconnected") + get_tree().connect("server_disconnected", world, "client_disconnect") + set_process(false) + set_physics_process(false) func _connect_btn(): client = NetworkedMultiplayerENet.new() client.create_client($IP.text, $Port.value) get_tree().set_network_peer(client) - func _connection_successful(): get_tree().get_root().add_child(world) world.client = client world.client_id = get_tree().get_network_unique_id() world.player_name = $Name.text + if is_local: + world.is_local = true + world.local_server_tree = local_server_tree print("Connected.") queue_free() + +func _run_local_server(): + local_server_tree = SceneTree.new() + local_server_tree.init() + local_server_tree.get_root().set_update_mode(Viewport.UPDATE_DISABLED) + var server_script = preload("res://scenes/Server.tscn").instance() + + #CHANGE LEVEL HERE + server_script.start_server("Local Server", "Local Singleplayer Server", 3, "res://maps/Main.tscn", "127.0.0.1", 25565, local_server_tree, null, "print") + set_process(true) + set_physics_process(true) + is_local = true + client = NetworkedMultiplayerENet.new() + client.create_client("127.0.0.1", 25565) + get_tree().set_network_peer(client) + +func _process(delta): + local_server_tree.idle(delta) + +func _physics_process(delta): + local_server_tree.iteration(delta) |
