diff options
Diffstat (limited to 'client/multiplayer.gd')
-rw-r--r-- | client/multiplayer.gd | 14 |
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") |