Add screen management to top menu and update button functionality; replace close button with back button

This commit is contained in:
Kirill
2026-09-21 22:32:56 +03:00
parent 8867da569a
commit a3d24114a1
3 changed files with 29 additions and 40 deletions
+8 -17
View File
@@ -61,6 +61,10 @@ const SWIPE_DURATION: float = 0.4
@onready var g_time_minus: TextureButton = $World/TopMenu/TimeMinus
@onready var g_time_plus: TextureButton = $World/TopMenu/TimePlus
@onready var screens: Dictionary = {
"World": $World,
"MainMenu": $MainMenu
}
var g_tween: Tween = null
var g_dragged_start: Vector2 = Vector2.ZERO
@@ -365,24 +369,11 @@ func _change_speed(delta: int) -> void:
g_time_plus.texture_normal = load(SPEED_TEXTURE_NAME_TEMPLATE % str(speed + 1))
func _on_topmenu_button_pressed(_ButtonName) -> void:
print("Debug → ")
#, owniverse.state)
for id in owniverse.state.batches:
var s = owniverse.state.batches[id].size()
if s != 0:
print(id, " → ", s)
#, owniverse.state.batches[id])
if id == 'HG':
print(owniverse.state.batches[id])
func _on_topmenu_button_pressed(screen_name: String) -> void:
for screen_id in screens:
screens[screen_id].visible = screen_id == screen_name
#var s: float = 1E15
#var z = 1.0
#for i in range(30):
#print(i, " | ", z, " | ", " | ", s - z)
#z *= 10
print("-------")
func _on_unlock_and_save_timeout() -> void:
save_data()
-10
View File
@@ -1,11 +1 @@
extends VBoxContainer
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
+21 -13
View File
@@ -46,8 +46,8 @@
[ext_resource type="Script" uid="uid://pyl1eueim6yo" path="res://ui/main_menu/main_menu.gd" id="43_mip0j"]
[ext_resource type="Texture2D" uid="uid://c7osivfr1yusc" path="res://ui/main_menu/en/tutorial.png" id="44_b8tmp"]
[ext_resource type="Texture2D" uid="uid://drcoll8tlms5s" path="res://ui/main_menu/owniverse.png" id="44_mip0j"]
[ext_resource type="Texture2D" uid="uid://bsunepdhq3gmk" path="res://ui/topmenu/buttons/close.png" id="44_uvuuk"]
[ext_resource type="Texture2D" uid="uid://b1tfnjshl2h02" path="res://ui/topmenu/buttons/close_pressed.png" id="45_an6vj"]
[ext_resource type="Texture2D" uid="uid://basv72rigisey" path="res://ui/topmenu/buttons/back.png" id="44_uvuuk"]
[ext_resource type="Texture2D" uid="uid://byndohn5vpaxi" path="res://ui/topmenu/buttons/back_pressed.png" id="45_an6vj"]
[ext_resource type="Texture2D" uid="uid://cq3ho84qxa2wj" path="res://ui/main_menu/en/achievements.png" id="45_vu62d"]
[ext_resource type="Texture2D" uid="uid://bp7fwgt6kwnwa" path="res://ui/main_menu/en/english.png" id="47_bfrib"]
[ext_resource type="Texture2D" uid="uid://c15y3813cpwtd" path="res://ui/main_menu/en/sound_non_active.png" id="47_dp8ul"]
@@ -84,7 +84,6 @@ size_flags_vertical = 3
script = ExtResource("3_k83x5")
[node name="World" type="VBoxContainer" parent="Stage" unique_id=1878643860]
visible = false
layout_mode = 1
anchors_preset = 10
anchor_right = 1.0
@@ -889,6 +888,7 @@ theme_override_styles/panel = SubResource("StyleBoxEmpty_ifjjt")
layout_mode = 2
[node name="MainMenu" type="VBoxContainer" parent="Stage" unique_id=731440017]
visible = false
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
@@ -898,15 +898,7 @@ script = ExtResource("43_mip0j")
[node name="TopMenu" type="HBoxContainer" parent="Stage/MainMenu" unique_id=252548655]
layout_mode = 2
[node name="BurgerButton" type="TextureButton" parent="Stage/MainMenu/TopMenu" unique_id=1685450387]
custom_minimum_size = Vector2(128, 128)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
texture_normal = ExtResource("4_b8tmp")
texture_pressed = ExtResource("5_en1oy")
[node name="CloseButton" type="TextureButton" parent="Stage/MainMenu/TopMenu" unique_id=287238827]
[node name="BackButton" type="TextureButton" parent="Stage/MainMenu/TopMenu" unique_id=1685450387]
custom_minimum_size = Vector2(128, 128)
layout_mode = 2
size_flags_horizontal = 4
@@ -970,6 +962,21 @@ toggle_mode = true
texture_normal = ExtResource("49_bfrib")
texture_pressed = ExtResource("50_mip0j")
[node name="Volume" type="HBoxContainer" parent="Stage/MainMenu" unique_id=1737823697]
layout_mode = 2
size_flags_horizontal = 4
theme_override_constants/separation = 64
[node name="SoundVolume" type="HSlider" parent="Stage/MainMenu/Volume" unique_id=1297986446]
custom_minimum_size = Vector2(444, 96)
layout_mode = 2
scrollable = false
[node name="MusicVolume" type="HSlider" parent="Stage/MainMenu/Volume" unique_id=729455266]
custom_minimum_size = Vector2(444, 96)
layout_mode = 2
scrollable = false
[node name="Credits" type="TextureButton" parent="Stage/MainMenu" unique_id=44726060]
custom_minimum_size = Vector2(1024, 128)
layout_mode = 2
@@ -989,7 +996,7 @@ wait_time = 2.0
autostart = true
[connection signal="timeout" from="Background/Timer" to="Background" method="randomize_parallax"]
[connection signal="pressed" from="Stage/World/TopMenu/BurgerButton" to="Stage" method="_on_topmenu_button_pressed" binds= ["Burger"]]
[connection signal="pressed" from="Stage/World/TopMenu/BurgerButton" to="Stage" method="_on_topmenu_button_pressed" binds= ["MainMenu"]]
[connection signal="pressed" from="Stage/World/TopMenu/TimeMinus" to="Stage" method="_change_speed" binds= [-1]]
[connection signal="pressed" from="Stage/World/TopMenu/TimePlus" to="Stage" method="_change_speed" binds= [1]]
[connection signal="pressed" from="Stage/World/TopMenu/ReportButton" to="Stage" method="_on_topmenu_button_pressed" binds= ["Report"]]
@@ -1001,5 +1008,6 @@ autostart = true
[connection signal="pressed" from="Stage/World/PageScroller/HBoxContainer/StructurePage/StructureHeader/DensityIndicator" to="Stage" method="_on_indicator_pressed" binds= ["Density", 3]]
[connection signal="pressed" from="Stage/World/PageScroller/HBoxContainer/LifePage/LifeHeader/AggressionIndicator" to="Stage" method="_on_indicator_pressed" binds= ["Aggression", 4]]
[connection signal="pressed" from="Stage/World/PageScroller/HBoxContainer/LifePage/LifeHeader/TrendIndicator" to="Stage" method="_on_indicator_pressed" binds= ["Trends", 4]]
[connection signal="pressed" from="Stage/MainMenu/TopMenu/BackButton" to="Stage" method="_on_topmenu_button_pressed" binds= ["World"]]
[connection signal="timeout" from="Stage/ItemAmountUpdate" to="Stage" method="set_owniverse_item_value"]
[connection signal="timeout" from="Stage/Unlock&Save" to="Stage" method="_on_unlock_and_save_timeout"]