online multiplayer chess game (note server currently down)
Diffstat (limited to 'ui/chat/TextEditor.gd')
-rw-r--r--ui/chat/TextEditor.gd35
1 files changed, 35 insertions, 0 deletions
diff --git a/ui/chat/TextEditor.gd b/ui/chat/TextEditor.gd
new file mode 100644
index 0000000..22bdeaa
--- /dev/null
+++ b/ui/chat/TextEditor.gd
@@ -0,0 +1,35 @@
+extends Container
+class_name TextEditor
+
+var text setget set_text, get_text
+
+
+func set_text(new_text: String) -> void:
+ textedit.text = new_text
+ _text_changed()
+
+
+func get_text() -> String:
+ return textedit.text
+
+
+signal done(text)
+
+onready var textedit: TextEdit = $"%text"
+onready var placeholder := $"%placeholder"
+
+
+func _ready():
+ $"%SendButton".visible = OS.has_touchscreen_ui_hint()
+
+
+func _text_changed() -> void:
+ placeholder.visible = len(textedit.text) == 0
+
+
+func send(msg := textedit.text) -> void:
+ msg = msg.strip_edges()
+ if msg:
+ textedit.text = ""
+ textedit.emit_signal("text_changed")
+ emit_signal("done", msg)