about summary refs log tree commit diff stats
path: root/client/Archipelago/textclient.gd
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-09-25 12:09:50 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-09-25 12:09:50 -0400
commit3f53502a5907ed1982d28a392c54331f0c1c2c42 (patch)
tree1dd087464d0fba1c35feaab0cee357fca6f2763c /client/Archipelago/textclient.gd
parentfb220e1c75e72a536c19aa1283f905850a91cf44 (diff)
downloadlingo2-archipelago-3f53502a5907ed1982d28a392c54331f0c1c2c42.tar.gz
lingo2-archipelago-3f53502a5907ed1982d28a392c54331f0c1c2c42.tar.bz2
lingo2-archipelago-3f53502a5907ed1982d28a392c54331f0c1c2c42.zip
Move the client into the apworld
Only works on source right now, not as an apworld.
Diffstat (limited to 'client/Archipelago/textclient.gd')
-rw-r--r--client/Archipelago/textclient.gd95
1 files changed, 0 insertions, 95 deletions
diff --git a/client/Archipelago/textclient.gd b/client/Archipelago/textclient.gd deleted file mode 100644 index 26831b4..0000000 --- a/client/Archipelago/textclient.gd +++ /dev/null
@@ -1,95 +0,0 @@
1extends CanvasLayer
2
3var panel
4var label
5var entry
6var is_open = false
7
8
9func _ready():
10 process_mode = ProcessMode.PROCESS_MODE_ALWAYS
11 layer = 2
12
13 panel = Panel.new()
14 panel.set_name("Panel")
15 panel.offset_left = 100
16 panel.offset_right = 1820
17 panel.offset_top = 100
18 panel.offset_bottom = 980
19 panel.visible = false
20 add_child(panel)
21
22 label = RichTextLabel.new()
23 label.set_name("Label")
24 label.offset_left = 80
25 label.offset_right = 1640
26 label.offset_top = 80
27 label.offset_bottom = 720
28 label.scroll_following = true
29 label.selection_enabled = true
30 panel.add_child(label)
31
32 label.push_font(load("res://assets/fonts/Lingo2.ttf"))
33 label.push_font_size(36)
34
35 var entry_style = StyleBoxFlat.new()
36 entry_style.bg_color = Color(0.9, 0.9, 0.9, 1)
37
38 entry = LineEdit.new()
39 entry.set_name("Entry")
40 entry.offset_left = 80
41 entry.offset_right = 1640
42 entry.offset_top = 760
43 entry.offset_bottom = 840
44 entry.add_theme_font_override("font", load("res://assets/fonts/Lingo2.ttf"))
45 entry.add_theme_font_size_override("font_size", 36)
46 entry.add_theme_color_override("font_color", Color(0, 0, 0, 1))
47 entry.add_theme_color_override("cursor_color", Color(0, 0, 0, 1))
48 entry.add_theme_stylebox_override("focus", entry_style)
49 panel.add_child(entry)
50 entry.connect("text_submitted", text_entered)
51
52
53func _input(event):
54 if global.loaded and event is InputEventKey and event.pressed:
55 if event.keycode == KEY_TAB and !Input.is_key_pressed(KEY_SHIFT):
56 if !get_tree().paused:
57 is_open = true
58 get_tree().paused = true
59 Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
60 panel.visible = true
61 entry.grab_focus()
62 get_viewport().set_input_as_handled()
63 else:
64 dismiss()
65 elif event.keycode == KEY_ESCAPE:
66 if is_open:
67 dismiss()
68 get_viewport().set_input_as_handled()
69
70
71func dismiss():
72 if is_open:
73 get_tree().paused = false
74 Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
75 panel.visible = false
76 is_open = false
77
78
79func parse_printjson(text):
80 label.append_text("[p]" + text + "[/p]")
81
82
83func text_entered(text):
84 var ap = global.get_node("Archipelago")
85 var cmd = text.trim_suffix("\n")
86 entry.text = ""
87 if OS.is_debug_build():
88 if cmd.begins_with("/tp_map "):
89 var new_map = cmd.substr(8)
90 global.map = new_map
91 global.sets_entry_point = false
92 switcher.switch_map("res://objects/scenes/%s.tscn" % new_map)
93 return
94
95 ap.client.say(cmd)