mirror of
https://github.com/Steffo99/swear-jar.git
synced 2024-11-25 00:54:19 +00:00
Implement UI state switching and pausing
This commit is contained in:
parent
4cd407dd1e
commit
39a0310a53
4 changed files with 83 additions and 2 deletions
|
@ -1,2 +1,21 @@
|
||||||
extends VBoxContainer
|
extends VBoxContainer
|
||||||
class_name GameUI
|
class_name GameUI
|
||||||
|
|
||||||
|
## Emitted when the Score button is pressed.
|
||||||
|
signal score_button_pressed
|
||||||
|
|
||||||
|
## Emitted when the Spawn button is pressed.
|
||||||
|
signal spawn_button_pressed
|
||||||
|
|
||||||
|
## Emitted when the Shop button is presesd.
|
||||||
|
signal shop_button_pressed
|
||||||
|
|
||||||
|
|
||||||
|
func _on_score_button_pressed():
|
||||||
|
score_button_pressed.emit()
|
||||||
|
|
||||||
|
func _on_spawn_button_pressed():
|
||||||
|
spawn_button_pressed.emit()
|
||||||
|
|
||||||
|
func _on_shop_button_pressed():
|
||||||
|
shop_button_pressed.emit()
|
||||||
|
|
|
@ -45,3 +45,7 @@ layout_mode = 2
|
||||||
size_flags_horizontal = 8
|
size_flags_horizontal = 8
|
||||||
text = "Shop"
|
text = "Shop"
|
||||||
alignment = 2
|
alignment = 2
|
||||||
|
|
||||||
|
[connection signal="pressed" from="UpperButtons/ScoreButton" to="." method="_on_score_button_pressed"]
|
||||||
|
[connection signal="pressed" from="UpperButtons/SpawnButton" to="." method="_on_spawn_button_pressed"]
|
||||||
|
[connection signal="pressed" from="UpperButtons/ShopButton" to="." method="_on_shop_button_pressed"]
|
||||||
|
|
47
root.gd
47
root.gd
|
@ -1,2 +1,49 @@
|
||||||
extends Node
|
extends Node
|
||||||
class_name Root
|
class_name Root
|
||||||
|
|
||||||
|
|
||||||
|
@onready var tree: SceneTree = get_tree()
|
||||||
|
@onready var game_ui: GameUI = $UI/GameUI
|
||||||
|
@onready var shop_ui: ShopUI = $UI/ShopUI
|
||||||
|
|
||||||
|
|
||||||
|
enum UIState {
|
||||||
|
GAME,
|
||||||
|
SHOP,
|
||||||
|
SCORE,
|
||||||
|
}
|
||||||
|
|
||||||
|
@export var ui_state: UIState:
|
||||||
|
get:
|
||||||
|
return ui_state
|
||||||
|
set(value):
|
||||||
|
match value:
|
||||||
|
UIState.GAME:
|
||||||
|
tree.paused = false
|
||||||
|
game_ui.show()
|
||||||
|
shop_ui.hide()
|
||||||
|
UIState.SHOP:
|
||||||
|
tree.paused = true
|
||||||
|
game_ui.hide()
|
||||||
|
shop_ui.show()
|
||||||
|
UIState.SCORE:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
func _on_game_ui_score_button_pressed():
|
||||||
|
ui_state = UIState.SCORE
|
||||||
|
|
||||||
|
func _on_shop_ui_back_button_pressed():
|
||||||
|
ui_state = UIState.GAME
|
||||||
|
|
||||||
|
func _on_shop_ui_delete_button_pressed():
|
||||||
|
ui_state = UIState.GAME
|
||||||
|
|
||||||
|
func _on_shop_ui_score_button_pressed():
|
||||||
|
ui_state = UIState.SCORE
|
||||||
|
|
||||||
|
func _on_game_ui_shop_button_pressed():
|
||||||
|
ui_state = UIState.SHOP
|
||||||
|
|
||||||
|
func _on_game_ui_spawn_button_pressed():
|
||||||
|
pass # Replace with function body.
|
||||||
|
|
15
root.tscn
15
root.tscn
|
@ -1,11 +1,13 @@
|
||||||
[gd_scene load_steps=5 format=3 uid="uid://cbccs6kwwf265"]
|
[gd_scene load_steps=6 format=3 uid="uid://cbccs6kwwf265"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://root.gd" id="1_8jrhk"]
|
||||||
[ext_resource type="Theme" uid="uid://ba5utvfhnxa5i" path="res://interface/interface_theme.tres" id="1_h26ax"]
|
[ext_resource type="Theme" uid="uid://ba5utvfhnxa5i" path="res://interface/interface_theme.tres" id="1_h26ax"]
|
||||||
[ext_resource type="PackedScene" uid="uid://mfa1v4fsnupp" path="res://interface/game_container.tscn" id="1_xjgvu"]
|
[ext_resource type="PackedScene" uid="uid://mfa1v4fsnupp" path="res://interface/game_container.tscn" id="1_xjgvu"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cklkdygv61bny" path="res://interface/shop_ui.tscn" id="3_lvefk"]
|
[ext_resource type="PackedScene" uid="uid://cklkdygv61bny" path="res://interface/shop_ui.tscn" id="3_lvefk"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bo5unrhqpoyim" path="res://interface/game_ui.tscn" id="5_2cc15"]
|
[ext_resource type="PackedScene" uid="uid://bo5unrhqpoyim" path="res://interface/game_ui.tscn" id="5_2cc15"]
|
||||||
|
|
||||||
[node name="Root" type="Node"]
|
[node name="Root" type="Node"]
|
||||||
|
script = ExtResource("1_8jrhk")
|
||||||
|
|
||||||
[node name="UI" type="Control" parent="."]
|
[node name="UI" type="Control" parent="."]
|
||||||
texture_filter = 1
|
texture_filter = 1
|
||||||
|
@ -19,11 +21,20 @@ size_flags_vertical = 8
|
||||||
theme = ExtResource("1_h26ax")
|
theme = ExtResource("1_h26ax")
|
||||||
|
|
||||||
[node name="GameContainer" parent="UI" instance=ExtResource("1_xjgvu")]
|
[node name="GameContainer" parent="UI" instance=ExtResource("1_xjgvu")]
|
||||||
|
process_mode = 1
|
||||||
layout_mode = 1
|
layout_mode = 1
|
||||||
|
|
||||||
[node name="GameUI" parent="UI" instance=ExtResource("5_2cc15")]
|
[node name="GameUI" parent="UI" instance=ExtResource("5_2cc15")]
|
||||||
|
process_mode = 3
|
||||||
layout_mode = 1
|
layout_mode = 1
|
||||||
|
|
||||||
[node name="ShopUI" parent="UI" instance=ExtResource("3_lvefk")]
|
[node name="ShopUI" parent="UI" instance=ExtResource("3_lvefk")]
|
||||||
visible = false
|
process_mode = 3
|
||||||
layout_mode = 1
|
layout_mode = 1
|
||||||
|
|
||||||
|
[connection signal="score_button_pressed" from="UI/GameUI" to="." method="_on_game_ui_score_button_pressed"]
|
||||||
|
[connection signal="shop_button_pressed" from="UI/GameUI" to="." method="_on_game_ui_shop_button_pressed"]
|
||||||
|
[connection signal="spawn_button_pressed" from="UI/GameUI" to="." method="_on_game_ui_spawn_button_pressed"]
|
||||||
|
[connection signal="back_button_pressed" from="UI/ShopUI" to="." method="_on_shop_ui_back_button_pressed"]
|
||||||
|
[connection signal="delete_button_pressed" from="UI/ShopUI" to="." method="_on_shop_ui_delete_button_pressed"]
|
||||||
|
[connection signal="score_button_pressed" from="UI/ShopUI" to="." method="_on_shop_ui_score_button_pressed"]
|
||||||
|
|
Loading…
Reference in a new issue