mirror of
https://github.com/Relintai/pandemonium_demo_projects.git
synced 2024-12-21 13:56:50 +01:00
63 lines
1.9 KiB
GDScript3
63 lines
1.9 KiB
GDScript3
|
extends Control
|
||
|
|
||
|
onready var _client = $Client
|
||
|
onready var _log_dest = $Panel/VBoxContainer/RichTextLabel
|
||
|
onready var _line_edit = $Panel/VBoxContainer/Send/LineEdit
|
||
|
onready var _host = $Panel/VBoxContainer/Connect/Host
|
||
|
onready var _multiplayer = $Panel/VBoxContainer/Settings/Multiplayer
|
||
|
onready var _write_mode = $Panel/VBoxContainer/Settings/Mode
|
||
|
onready var _destination = $Panel/VBoxContainer/Settings/Destination
|
||
|
|
||
|
func _ready():
|
||
|
_write_mode.clear()
|
||
|
_write_mode.add_item("BINARY")
|
||
|
_write_mode.set_item_metadata(0, WebSocketPeer.WRITE_MODE_BINARY)
|
||
|
_write_mode.add_item("TEXT")
|
||
|
_write_mode.set_item_metadata(1, WebSocketPeer.WRITE_MODE_TEXT)
|
||
|
|
||
|
_destination.add_item("Broadcast")
|
||
|
_destination.set_item_metadata(0, 0)
|
||
|
_destination.add_item("Last connected")
|
||
|
_destination.set_item_metadata(1, 1)
|
||
|
_destination.add_item("All But last connected")
|
||
|
_destination.set_item_metadata(2, -1)
|
||
|
_destination.select(0)
|
||
|
|
||
|
|
||
|
func _on_Mode_item_selected(_id):
|
||
|
_client.set_write_mode(_write_mode.get_selected_metadata())
|
||
|
|
||
|
|
||
|
func _on_Send_pressed():
|
||
|
if _line_edit.text == "":
|
||
|
return
|
||
|
|
||
|
var dest = _destination.get_selected_metadata()
|
||
|
if dest > 0:
|
||
|
dest = _client.last_connected_client
|
||
|
elif dest < 0:
|
||
|
dest = -_client.last_connected_client
|
||
|
|
||
|
Utils._log(_log_dest, "Sending data %s to %s" % [_line_edit.text, dest])
|
||
|
_client.send_data(_line_edit.text, dest)
|
||
|
_line_edit.text = ""
|
||
|
|
||
|
|
||
|
func _on_Connect_toggled( pressed ):
|
||
|
if pressed:
|
||
|
var multiplayer = _multiplayer.pressed
|
||
|
if multiplayer:
|
||
|
_write_mode.disabled = true
|
||
|
else:
|
||
|
_destination.disabled = true
|
||
|
_multiplayer.disabled = true
|
||
|
if _host.text != "":
|
||
|
Utils._log(_log_dest, "Connecting to host: %s" % [_host.text])
|
||
|
var supported_protocols = PoolStringArray(["my-protocol2", "my-protocol", "binary"])
|
||
|
_client.connect_to_url(_host.text, supported_protocols, multiplayer)
|
||
|
else:
|
||
|
_destination.disabled = false
|
||
|
_write_mode.disabled = false
|
||
|
_multiplayer.disabled = false
|
||
|
_client.disconnect_from_host()
|