about summary refs log tree commit diff stats
path: root/apworld/client/pauseMenu.gd
diff options
context:
space:
mode:
Diffstat (limited to 'apworld/client/pauseMenu.gd')
-rw-r--r--apworld/client/pauseMenu.gd110
1 files changed, 110 insertions, 0 deletions
diff --git a/apworld/client/pauseMenu.gd b/apworld/client/pauseMenu.gd new file mode 100644 index 0000000..50a1e99 --- /dev/null +++ b/apworld/client/pauseMenu.gd
@@ -0,0 +1,110 @@
1extends "res://scripts/ui/pauseMenu.gd"
2
3var compass_button
4var locations_button
5var minimap_button
6var prioritize_current_button
7
8
9func _ready():
10 var ap_panel = Panel.new()
11 ap_panel.name = "Archipelago"
12 get_node("menu/settings/settingsInner/TabContainer").add_child(ap_panel)
13
14 var ap = global.get_node("Archipelago")
15
16 compass_button = CheckBox.new()
17 compass_button.text = "show compass"
18 compass_button.button_pressed = ap.show_compass
19 compass_button.position = Vector2(65, 100)
20 compass_button.theme = preload("res://assets/themes/baseUI.tres")
21 compass_button.add_theme_font_size_override("font_size", 60)
22 compass_button.pressed.connect(_toggle_compass)
23 ap_panel.add_child(compass_button)
24
25 locations_button = CheckBox.new()
26 locations_button.text = "show locations overlay"
27 locations_button.button_pressed = ap.show_locations
28 locations_button.position = Vector2(65, 200)
29 locations_button.theme = preload("res://assets/themes/baseUI.tres")
30 locations_button.add_theme_font_size_override("font_size", 60)
31 locations_button.pressed.connect(_toggle_locations)
32 ap_panel.add_child(locations_button)
33
34 minimap_button = CheckBox.new()
35 minimap_button.text = "show minimap"
36 minimap_button.button_pressed = ap.show_minimap
37 minimap_button.position = Vector2(65, 300)
38 minimap_button.theme = preload("res://assets/themes/baseUI.tres")
39 minimap_button.add_theme_font_size_override("font_size", 60)
40 minimap_button.pressed.connect(_toggle_minimap)
41 ap_panel.add_child(minimap_button)
42
43 prioritize_current_button = CheckBox.new()
44 prioritize_current_button.text = "prioritize locations on current map"
45 prioritize_current_button.button_pressed = ap.prioritize_current_map
46 prioritize_current_button.position = Vector2(65, 400)
47 prioritize_current_button.theme = preload("res://assets/themes/baseUI.tres")
48 prioritize_current_button.add_theme_font_size_override("font_size", 60)
49 prioritize_current_button.pressed.connect(_toggle_prioritize_current)
50 ap_panel.add_child(prioritize_current_button)
51
52 super._ready()
53
54
55func _pause_game():
56 global.get_node("Textclient").dismiss()
57 super._pause_game()
58
59
60func _main_menu():
61 global.loaded = false
62 global.get_node("Archipelago").disconnect_from_ap()
63 global.get_node("Messages").clear()
64 global.get_node("Compass").visible = false
65 global.get_node("Textclient").reset()
66
67 autosplitter.reset()
68 _unpause_game()
69 Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
70 musicPlayer.stop()
71
72 var runtime = global.get_node("Runtime")
73 runtime.load_script_as_scene.call_deferred("settings_screen.gd", "settings_screen")
74
75
76func _toggle_compass():
77 var ap = global.get_node("Archipelago")
78 ap.show_compass = compass_button.button_pressed
79 ap.saveSettings()
80
81 var compass = global.get_node("Compass")
82 compass.visible = compass_button.button_pressed
83
84
85func _toggle_locations():
86 var ap = global.get_node("Archipelago")
87 ap.show_locations = locations_button.button_pressed
88 ap.saveSettings()
89
90 var textclient = global.get_node("Textclient")
91 textclient.update_locations_visibility()
92
93
94func _toggle_minimap():
95 var ap = global.get_node("Archipelago")
96 ap.show_minimap = minimap_button.button_pressed
97 ap.saveSettings()
98
99 var minimap = get_tree().get_root().get_node("scene/Minimap")
100 if minimap != null:
101 minimap.visible = ap.show_minimap
102
103
104func _toggle_prioritize_current():
105 var ap = global.get_node("Archipelago")
106 ap.prioritize_current_map = prioritize_current_button.button_pressed
107 ap.saveSettings()
108
109 var textclient = global.get_node("Textclient")
110 textclient.update_locations()