From a91e1b4f3c547f26be544aae785e1511094199ad Mon Sep 17 00:00:00 2001 From: Damien Watson Date: Tue, 4 Feb 2020 16:46:32 +0000 Subject: [PATCH] Added basic connection functionality --- Scenes/RootNode.tscn | 6 ++++++ Scripts/RootNode.gd | 30 ++++++++++++++++++++++++++++++ default_env.tres | 7 +++++++ icon.png | Bin 0 -> 3446 bytes icon.png.import | 34 ++++++++++++++++++++++++++++++++++ project.godot | 24 ++++++++++++++++++++++++ 6 files changed, 101 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..e752e34 --- /dev/null +++ b/Scenes/RootNode.tscn @@ -0,0 +1,6 @@ +[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 ) diff --git a/Scripts/RootNode.gd b/Scripts/RootNode.gd new file mode 100644 index 0000000..3243705 --- /dev/null +++ b/Scripts/RootNode.gd @@ -0,0 +1,30 @@ +extends Node + + +const MAX_PLAYERS : int = 2 +const PORT : int = 9374 + +var ids = [] + +func _ready() -> void: + var peer : NetworkedMultiplayerENet = NetworkedMultiplayerENet.new() + peer.create_server( PORT, MAX_PLAYERS ) + get_tree().set_network_peer( peer ) + + get_tree().connect("network_peer_connected", self, "_peer_connected") + get_tree().connect("network_peer_disconnected", self, "_peer_disconnected") + +func _peer_connected(id : int) -> void: + if not id: + return + ids.append(id) + print("Player has connected with id " + String(id)) + # TODO: When we reach max players -> start the game + +func _peer_disconnected(id : int) -> void: + ids.erase(id) + print("Player has disconnected with id " + String(id)) + +# Called every frame. 'delta' is the elapsed time since the previous frame. +#func _process(delta): +# pass 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..b277412 --- /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="Server" +run/main_scene="res://Scenes/RootNode.tscn" +config/icon="res://icon.png" + +[rendering] + +environment/default_environment="res://default_env.tres"