From aaa928e6609a9d9c2da2b5cd0cd05a4e4d2fc3f6 Mon Sep 17 00:00:00 2001 From: Damien Watson Date: Tue, 4 Feb 2020 16:38:02 +0000 Subject: [PATCH] Added basic connection functionality --- Scenes/RootNode.tscn | 38 ++++++++++++++++++++++++++++++++++++++ Scripts/RootNode.gd | 28 ++++++++++++++++++++++++++++ default_env.tres | 7 +++++++ icon.png | Bin 0 -> 3446 bytes icon.png.import | 34 ++++++++++++++++++++++++++++++++++ project.godot | 24 ++++++++++++++++++++++++ 6 files changed, 131 insertions(+) create mode 100644 Scenes/RootNode.tscn create mode 100644 Scripts/RootNode.gd create mode 100644 default_env.tres create mode 100644 icon.png create mode 100644 icon.png.import create mode 100644 project.godot diff --git a/Scenes/RootNode.tscn b/Scenes/RootNode.tscn new file mode 100644 index 0000000..70d3fda --- /dev/null +++ b/Scenes/RootNode.tscn @@ -0,0 +1,38 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://Scripts/RootNode.gd" type="Script" id=1] + +[node name="RootNode" type="Node"] +script = ExtResource( 1 ) + +[node name="Lobby" type="Control" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="IPLineEdit" type="LineEdit" parent="Lobby"] +anchor_left = 0.5 +anchor_top = 0.3 +anchor_right = 0.5 +anchor_bottom = 0.3 +margin_left = -100.0 +margin_right = 100.0 +margin_bottom = 25.0 +placeholder_text = "Enter IP Address of Server" + +[node name="StartButton" type="Button" parent="Lobby"] +anchor_left = 0.5 +anchor_top = 0.3 +anchor_right = 0.5 +anchor_bottom = 0.3 +margin_left = -40.0 +margin_top = 40.0 +margin_right = 40.0 +margin_bottom = 25.0 +text = "Start" +__meta__ = { +"_edit_use_anchors_": false +} +[connection signal="pressed" from="Lobby/StartButton" to="." method="_on_StartButton_pressed"] diff --git a/Scripts/RootNode.gd b/Scripts/RootNode.gd new file mode 100644 index 0000000..19da34c --- /dev/null +++ b/Scripts/RootNode.gd @@ -0,0 +1,28 @@ +extends Node + + +const PORT : int = 9374 + + + +func _ready() -> void: + get_tree().connect("connected_to_server", self, "_connected_to_server") + get_tree().connect("server_disconnected", self, "_server_disconnected") + get_tree().connect("connection_failed", self, "_connection_failed") + +func _connected_to_server() -> void: + print("Connected to server") # Let the server know all about us (eg name) + +func _server_disconnected() -> void: + print("Disconnected from server") # Kick us out the game and bring back the lobby (if applicable) + +func _connection_failed() -> void: + print("Connection Error") + + + +func _on_StartButton_pressed() -> void: + var ip_addr : String = $Lobby/IPLineEdit.text + var peer : NetworkedMultiplayerENet = NetworkedMultiplayerENet.new() + peer.create_client(ip_addr, PORT) + get_tree().set_network_peer(peer) diff --git a/default_env.tres b/default_env.tres new file mode 100644 index 0000000..20207a4 --- /dev/null +++ b/default_env.tres @@ -0,0 +1,7 @@ +[gd_resource type="Environment" load_steps=2 format=2] + +[sub_resource type="ProceduralSky" id=1] + +[resource] +background_mode = 2 +background_sky = SubResource( 1 ) diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2e42096c9664f3c8f496ec964d9989c551bda910 GIT binary patch literal 3446 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 Y0Sb~ou*ArFkN^Mx07*qoM6N<$f_ntYg8%>k literal 0 HcmV?d00001 diff --git a/icon.png.import b/icon.png.import new file mode 100644 index 0000000..96cbf46 --- /dev/null +++ b/icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.png" +dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..2f7e9a3 --- /dev/null +++ b/project.godot @@ -0,0 +1,24 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=4 + +_global_script_classes=[ ] +_global_script_class_icons={ + +} + +[application] + +config/name="Client" +run/main_scene="res://Scenes/RootNode.tscn" +config/icon="res://icon.png" + +[rendering] + +environment/default_environment="res://default_env.tres"