online multiplayer chess game (note server currently down)
Diffstat (limited to 'ui/menus/lobby/PGNEntry.gd')
-rw-r--r--ui/menus/lobby/PGNEntry.gd19
1 files changed, 19 insertions, 0 deletions
diff --git a/ui/menus/lobby/PGNEntry.gd b/ui/menus/lobby/PGNEntry.gd
new file mode 100644
index 0000000..5f76aa2
--- /dev/null
+++ b/ui/menus/lobby/PGNEntry.gd
@@ -0,0 +1,19 @@
+extends LineEdit
+
+signal pgn_selected(m_array)
+
+
+func _text_entered(new_text: String):
+ var status = validate_pgn(new_text)
+ if status:
+ emit_signal("pgn_selected", status)
+ else:
+ text = "invalid pgn"
+
+
+func validate_pgn(p: String):
+ var parsed = Pgn.parse(p)
+ if parsed == null:
+ return false
+ else:
+ return parsed.moves # TODO: simulate the pgn and such nonsense