summaryrefslogtreecommitdiff
path: root/scripts/ClientUI.gd
diff options
context:
space:
mode:
authorAnson Bridges <bridges.anson@gmail.com>2022-08-31 17:19:49 -0700
committerAnson Bridges <bridges.anson@gmail.com>2022-08-31 17:19:49 -0700
commite57103a4f99cdc0693471fe772dc7893ff65e855 (patch)
tree790c0767197adf7ffc6e61c4b059cfdff0c62b7b /scripts/ClientUI.gd
parentd3998186c9795f2a85148cd5bcfa1bd5b6226cfb (diff)
added local servers
Diffstat (limited to 'scripts/ClientUI.gd')
-rw-r--r--scripts/ClientUI.gd35
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)