aboutsummaryrefslogtreecommitdiff
path: root/client/multiplayer.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/multiplayer.gd')
-rw-r--r--client/multiplayer.gd14
1 files changed, 10 insertions, 4 deletions
diff --git a/client/multiplayer.gd b/client/multiplayer.gd
index 7ccfd377..2d4b9533 100644
--- a/client/multiplayer.gd
+++ b/client/multiplayer.gd
@@ -15,6 +15,7 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
+class_name Multiplayer
extends Node
signal init(player_id: int)
@@ -46,10 +47,15 @@ var player_id = -1
var tileid_by_pos: Dictionary = {}
-var url = ""
-func connect_client():
- socket.connect_to_url(url)
+func _ready():
+ print("Multiplayer connect");
+ socket.connect_to_url(Global.server_url)
connected = true
+func _notification(what):
+ if what == NOTIFICATION_PREDELETE:
+ print("Multiplayer disconnect");
+ socket.close()
+ connected = false
func _process(_delta):
if connected:
@@ -135,7 +141,7 @@ func handle_packet(bytes: PackedByteArray):
var pos: Array = decoded["pos"]
var neighbors: Array = decoded["neighbors"]
tileid_by_pos[str(Vector2i(pos[0],pos[1]))] = tile
- emit_signal("update_map", pos, tile_names[tile], neighbors)
+ emit_signal("update_map", pos, tile_names[tile], neighbors.map(func (x): return tile_names[x] if x != null else null))
"communicate":
var player = decoded["player"]
var message = decoded.get("message")