3 Commits

Author SHA1 Message Date
394c4babd1 disable animation on tab at start 2026-05-15 21:36:11 +02:00
5be52377a4 update game_menu 2026-05-14 22:31:37 +02:00
788397e544 add animations 2026-05-12 23:48:04 +02:00
63 changed files with 773 additions and 280 deletions

View File

@@ -0,0 +1,21 @@
@tool
extends Control
@export var image: Texture:
set(value):
image = value
if is_inside_tree() and has_node("%Texture"):
$%Texture.texture = image
@export var flip_h: bool = false:
set(value):
flip_h = value
if is_inside_tree() and has_node("%Texture"):
if $%Texture != null:
$%Texture.flip_h = flip_h
func _ready():
if image != null and has_node("%Texture"):
$%Texture.texture = image
$%Texture.flip_h = flip_h

View File

@@ -0,0 +1 @@
uid://3uxuhvua1036

View File

@@ -1,10 +1,36 @@
[gd_scene format=3 uid="uid://dm3skv22c60tm"]
[ext_resource type="Texture2D" uid="uid://cm7fok7lhrano" path="res://core/game_menu/assets/page_1/freccetta.png" id="1_vbu0v"]
[ext_resource type="Script" uid="uid://3uxuhvua1036" path="res://core/game_menu/arrow_button.gd" id="2_xq7pl"]
[ext_resource type="PackedScene" uid="uid://dxun0jk5t0n6" path="res://core/game_menu/hoover_tween.tscn" id="3_hu4cn"]
[node name="ArrowButton" type="TextureButton" unique_id=103192648]
offset_left = 229.0
offset_top = 652.0
offset_right = 305.0
offset_bottom = 756.0
texture_normal = ExtResource("1_vbu0v")
[node name="ArrowButton" type="Control" unique_id=1696751730]
custom_minimum_size = Vector2(101, 124)
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
pivot_offset = Vector2(0.5, 0.5)
script = ExtResource("2_xq7pl")
image = ExtResource("1_vbu0v")
[node name="Texture" type="TextureRect" parent="." unique_id=91599097]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = -1
anchor_left = 0.47369793
anchor_top = 0.4425926
anchor_right = 0.5263021
anchor_bottom = 0.5574074
grow_horizontal = 2
grow_vertical = 2
pivot_offset_ratio = Vector2(0.5, 0.5)
mouse_filter = 2
texture = ExtResource("1_vbu0v")
metadata/_edit_use_anchors_ = true
[node name="HooverTween" parent="." unique_id=2115829120 node_paths=PackedStringArray("detector_node", "visual_node") instance=ExtResource("3_hu4cn")]
detector_node = NodePath("..")
visual_node = NodePath("../Texture")

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -1,40 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://rhun07060pnu"
path="res://.godot/imported/freccetta_grande.png-c54f8c857d7b5a929c790700a936a817.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_1/freccetta_grande.png"
dest_files=["res://.godot/imported/freccetta_grande.png-c54f8c857d7b5a929c790700a936a817.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -1,40 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cqdasd3gqhvn4"
path="res://.godot/imported/button (5).png-2d9a524d28fa475c356f82ec97837919.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/button (5).png"
dest_files=["res://.godot/imported/button (5).png-2d9a524d28fa475c356f82ec97837919.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -1,40 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bix4gs75vp877"
path="res://.godot/imported/button (6).png-b2e64de0e22a850923c62d0ac8df2191.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/button (6).png"
dest_files=["res://.godot/imported/button (6).png-b2e64de0e22a850923c62d0ac8df2191.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://3aku1hca287d"
path="res://.godot/imported/button (4).png-93932eed3fd313bb53170dff8b201262.ctex"
uid="uid://s33pbfshxhb5"
path="res://.godot/imported/button_-1.png-510ce9cfa9ad6c7aa1d4f04268f68d3b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/button (4).png"
dest_files=["res://.godot/imported/button (4).png-93932eed3fd313bb53170dff8b201262.ctex"]
source_file="res://core/game_menu/assets/page_3/button_-1.png"
dest_files=["res://.godot/imported/button_-1.png-510ce9cfa9ad6c7aa1d4f04268f68d3b.ctex"]
[params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://f6434r8qr1wu"
path="res://.godot/imported/button (1).png-45c7746e3094b4f06b4476b2eac0de6f.ctex"
uid="uid://b5h20nr1ng0nl"
path="res://.godot/imported/button_-2.png-e6778d794ae58520b03192fce0261bec.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/button (1).png"
dest_files=["res://.godot/imported/button (1).png-45c7746e3094b4f06b4476b2eac0de6f.ctex"]
source_file="res://core/game_menu/assets/page_3/button_-2.png"
dest_files=["res://.godot/imported/button_-2.png-e6778d794ae58520b03192fce0261bec.ctex"]
[params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bfrekg3j72evy"
path="res://.godot/imported/button (2).png-86c1ff83768903d13ebe9e33921c6f2f.ctex"
uid="uid://cu6bqiext3pwa"
path="res://.godot/imported/button_-3.png-2b02c75d345772518431892f60992d4b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/button (2).png"
dest_files=["res://.godot/imported/button (2).png-86c1ff83768903d13ebe9e33921c6f2f.ctex"]
source_file="res://core/game_menu/assets/page_3/button_-3.png"
dest_files=["res://.godot/imported/button_-3.png-2b02c75d345772518431892f60992d4b.ctex"]
[params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c1sd0g86pxg78"
path="res://.godot/imported/button (3).png-779f246eecfffb2ad9c27b4d3311e9ec.ctex"
uid="uid://cth6as0m48wu7"
path="res://.godot/imported/button_-4.png-1f25f15677dc03a4d56cb2e3fd7bb51f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/button (3).png"
dest_files=["res://.godot/imported/button (3).png-779f246eecfffb2ad9c27b4d3311e9ec.ctex"]
source_file="res://core/game_menu/assets/page_3/button_-4.png"
dest_files=["res://.godot/imported/button_-4.png-1f25f15677dc03a4d56cb2e3fd7bb51f.ctex"]
[params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://btkto18w6imfj"
path="res://.godot/imported/button_-5.png-5a01d1e8b2c28cb5842f36b37b530ae3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/button_-5.png"
dest_files=["res://.godot/imported/button_-5.png-5a01d1e8b2c28cb5842f36b37b530ae3.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bgujbx8kariss"
path="res://.godot/imported/button_-6.png-4c3663c0662b063c55fd87f3346e29ce.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/button_-6.png"
dest_files=["res://.godot/imported/button_-6.png-4c3663c0662b063c55fd87f3346e29ce.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ctiam7fffidjf"
path="res://.godot/imported/button_-7.png-b53af1de57c6f0b20e91f153a129564b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/button_-7.png"
dest_files=["res://.godot/imported/button_-7.png-b53af1de57c6f0b20e91f153a129564b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c5sg3bw8006y7"
path="res://.godot/imported/button_.png-627da396356dc80efe059e8d8418e929.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/button_.png"
dest_files=["res://.godot/imported/button_.png-627da396356dc80efe059e8d8418e929.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@@ -2,7 +2,7 @@
[ext_resource type="Script" uid="uid://bnh1y560h55vc" path="res://core/game_menu/audio_option.gd" id="1_orafl"]
[ext_resource type="Texture2D" uid="uid://dirbxw8ii87nv" path="res://core/game_menu/assets/page_3/main_volume_button.png" id="2_vudub"]
[ext_resource type="Texture2D" uid="uid://f6434r8qr1wu" path="res://core/game_menu/assets/page_3/button (1).png" id="3_vf41c"]
[ext_resource type="Texture2D" uid="uid://s33pbfshxhb5" path="res://core/game_menu/assets/page_3/button_-1.png" id="3_vf41c"]
[ext_resource type="Texture2D" uid="uid://c6kgm3fq8521h" path="res://core/game_menu/assets/page_3/barretta.png" id="4_hduhm"]
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_f3y2u"]

View File

@@ -0,0 +1,22 @@
@tool
extends Control
@export var locked: bool = true
@export var image: Texture:
set(value):
image = value
if is_inside_tree() and has_node("%Texture"):
$%Texture.texture = image
func _ready():
if image != null and has_node("%Texture"):
$%Texture.texture = image
if has_node("%TextureRect") and has_node("%HooverTween"):
if locked:
$%TextureRect.show()
$%HooverTween.queue_free()
else:
$%TextureRect.hide()

View File

@@ -0,0 +1 @@
uid://c7q3d823b1v1h

View File

@@ -0,0 +1,51 @@
[gd_scene format=3 uid="uid://wckwvvnk8bt4"]
[ext_resource type="Script" uid="uid://c7q3d823b1v1h" path="res://core/game_menu/biome_picker.gd" id="1_jqji0"]
[ext_resource type="Texture2D" uid="uid://dj6pt25w5i4jq" path="res://core/game_menu/assets/page_1/lucchetto.png" id="2_jqji0"]
[ext_resource type="PackedScene" uid="uid://dxun0jk5t0n6" path="res://core/game_menu/hoover_tween.tscn" id="4_8s4h5"]
[node name="BiomePicker" type="Control" unique_id=52821564]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_jqji0")
[node name="Texture" type="TextureRect" parent="." unique_id=606844933]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = -1
anchor_left = 0.47161457
anchor_top = 0.39027777
anchor_right = 0.5283854
anchor_bottom = 0.6097222
grow_horizontal = 2
grow_vertical = 2
pivot_offset_ratio = Vector2(0.5, 0.5)
stretch_mode = 3
metadata/_edit_use_anchors_ = true
[node name="TextureRect" type="TextureRect" parent="Texture" unique_id=288045010]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -20.0
offset_top = -20.0
offset_right = 20.0
offset_bottom = 20.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("2_jqji0")
[node name="HooverTween" parent="." unique_id=160227524 node_paths=PackedStringArray("detector_node", "visual_node") instance=ExtResource("4_8s4h5")]
unique_name_in_owner = true
detector_node = NodePath("..")
visual_node = NodePath("../Texture")
scale_amount = Vector2(1.05, 1.05)

View File

@@ -1,75 +1,56 @@
[gd_scene format=3 uid="uid://bc60gon7fmvbr"]
[ext_resource type="Texture2D" uid="uid://rhun07060pnu" path="res://core/game_menu/assets/page_1/freccetta_grande.png" id="1_6vn80"]
[ext_resource type="PackedScene" uid="uid://dm3skv22c60tm" path="res://core/game_menu/arrow_button.tscn" id="1_16l2d"]
[ext_resource type="PackedScene" uid="uid://wckwvvnk8bt4" path="res://core/game_menu/biome_picker.tscn" id="2_q1k23"]
[ext_resource type="Texture2D" uid="uid://cin3kt42e6w3u" path="res://core/game_menu/assets/page_1/color_sx_biome.png" id="2_xjika"]
[ext_resource type="Texture2D" uid="uid://dc0sl04wem136" path="res://core/game_menu/assets/page_1/color_main_biome.png" id="3_0noye"]
[ext_resource type="Texture2D" uid="uid://dj6pt25w5i4jq" path="res://core/game_menu/assets/page_1/lucchetto.png" id="3_wyms5"]
[ext_resource type="Texture2D" uid="uid://c3qcivnwuisju" path="res://core/game_menu/assets/page_1/color_dx_biome.png" id="4_0noye"]
[node name="HBoxContainer" type="HBoxContainer" unique_id=291322067]
theme_override_constants/separation = 24
[node name="BiomeSelector" type="HBoxContainer" unique_id=291322067]
offset_right = 700.0
offset_bottom = 400.0
theme_override_constants/separation = 0
alignment = 1
[node name="FreccettaGrandeLeft" type="TextureButton" parent="." unique_id=1190316330]
[node name="ArrowButtonLeft" parent="." unique_id=1696751730 instance=ExtResource("1_16l2d")]
layout_mode = 2
texture_normal = ExtResource("1_6vn80")
stretch_mode = 3
size_flags_vertical = 4
flip_h = true
[node name="HBoxContainer2" type="HBoxContainer" parent="." unique_id=1117886768]
layout_mode = 2
theme_override_constants/separation = 24
size_flags_horizontal = 3
theme_override_constants/separation = 0
alignment = 1
[node name="Biome1" type="TextureButton" parent="HBoxContainer2" unique_id=993296601]
[node name="BiomePicker1" parent="HBoxContainer2" unique_id=477354740 instance=ExtResource("2_q1k23")]
layout_mode = 2
texture_normal = ExtResource("2_xjika")
stretch_mode = 3
size_flags_horizontal = 3
image = ExtResource("2_xjika")
[node name="TextureRect" type="TextureRect" parent="HBoxContainer2/Biome1" unique_id=2118495059]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -20.0
offset_top = -20.0
offset_right = 20.0
offset_bottom = 20.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("3_wyms5")
[node name="Biome2" type="TextureButton" parent="HBoxContainer2" unique_id=1409565303]
[node name="BiomePicker2" parent="HBoxContainer2" unique_id=52821564 instance=ExtResource("2_q1k23")]
custom_minimum_size = Vector2(200, 400)
layout_mode = 2
texture_normal = ExtResource("3_0noye")
stretch_mode = 3
size_flags_horizontal = 3
locked = false
image = ExtResource("3_0noye")
[node name="Biome3" type="TextureButton" parent="HBoxContainer2" unique_id=970033726]
[node name="Texture" parent="HBoxContainer2/BiomePicker2" index="0" unique_id=606844933]
texture = ExtResource("3_0noye")
[node name="TextureRect" parent="HBoxContainer2/BiomePicker2/Texture" index="0" unique_id=288045010]
visible = false
[node name="HooverTween" parent="HBoxContainer2/BiomePicker2" index="1" unique_id=160227524]
always_active = true
[node name="BiomePicker3" parent="HBoxContainer2" unique_id=1567545303 instance=ExtResource("2_q1k23")]
layout_mode = 2
texture_normal = ExtResource("4_0noye")
stretch_mode = 3
size_flags_horizontal = 3
image = ExtResource("4_0noye")
[node name="TextureRect" type="TextureRect" parent="HBoxContainer2/Biome3" unique_id=1469769651]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -20.0
offset_top = -20.0
offset_right = 20.0
offset_bottom = 20.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("3_wyms5")
[node name="FreccettaGrandeRight" type="TextureButton" parent="." unique_id=264353864]
[node name="ArrowButtonRight" parent="." unique_id=1741162553 instance=ExtResource("1_16l2d")]
layout_mode = 2
texture_normal = ExtResource("1_6vn80")
stretch_mode = 3
flip_h = true
size_flags_vertical = 4
[node name="BiomeSelector" type="Control" parent="." unique_id=1957954960]
layout_mode = 2
[editable path="HBoxContainer2/BiomePicker2"]

View File

@@ -1,17 +1,19 @@
@tool
extends TextureButton
extends Control
@export var image: Texture:
set(value):
image = value
texture_normal = image
if is_inside_tree() and has_node("%Texture"):
$%Texture.texture = image
@onready var color: Color
func _ready():
texture_normal = image
if texture_normal != null:
var img = texture_normal.get_image()
if image != null and has_node("%Texture"):
$%Texture.texture = image
if $%Texture.texture != null:
var img = $%Texture.texture.get_image()
color = img.get_pixel(0, 0)
else:
color = Color.BLACK

View File

@@ -2,8 +2,38 @@
[ext_resource type="Texture2D" uid="uid://cdjwvwst3f10a" path="res://core/game_menu/assets/page_1/customizecolor-1.png" id="1_us0rx"]
[ext_resource type="Script" uid="uid://crfw5whcjs0du" path="res://core/game_menu/color_picker.gd" id="2_323rd"]
[ext_resource type="PackedScene" uid="uid://dxun0jk5t0n6" path="res://core/game_menu/hoover_tween.tscn" id="3_264kt"]
[node name="ColorPicker" type="TextureButton" unique_id=59169767]
texture_normal = ExtResource("1_us0rx")
[node name="ColorPicker" type="Control" unique_id=409505029]
custom_minimum_size = Vector2(53, 53)
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("2_323rd")
image = ExtResource("1_us0rx")
[node name="Texture" type="TextureRect" parent="." unique_id=329703623]
unique_name_in_owner = true
custom_minimum_size = Vector2(53, 53)
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -26.5
offset_top = -26.5
offset_right = 26.5
offset_bottom = 26.5
grow_horizontal = 2
grow_vertical = 2
pivot_offset_ratio = Vector2(0.5, 0.5)
mouse_filter = 2
texture = ExtResource("1_us0rx")
[node name="HooverTween" parent="." unique_id=160227524 node_paths=PackedStringArray("detector_node", "visual_node") instance=ExtResource("3_264kt")]
detector_node = NodePath("..")
visual_node = NodePath("../Texture")

View File

@@ -7,7 +7,8 @@ func _ready() -> void:
for tab: GameMenuTab in tabs:
tab.on_tab_selected.connect(_on_tab_pressed)
tabs[0].select()
tabs[0].select_without_animation()
pages[0].show()
func _on_tab_pressed(index: int):
for page in pages:

View File

@@ -10,6 +10,7 @@
[ext_resource type="PackedScene" uid="uid://c8b5sqnocx8dr" path="res://core/game_menu/page_3.tscn" id="5_yq2ch"]
[node name="GameMenu" type="Control" unique_id=2124096517]
process_mode = 3
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
@@ -20,31 +21,25 @@ mouse_filter = 2
script = ExtResource("1_57vaj")
[node name="Tabs" type="HBoxContainer" parent="." unique_id=1745270897]
layout_mode = 0
offset_left = 1146.0
offset_top = 214.0
offset_right = 1754.0
offset_bottom = 254.0
layout_mode = 1
offset_left = 1138.0
offset_top = 208.0
offset_right = 1734.0
offset_bottom = 646.0
[node name="Tab1" parent="Tabs" unique_id=2026548604 instance=ExtResource("3_xmmnr")]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
size_flags_horizontal = 3
image = ExtResource("4_y36g7")
[node name="Tab2" parent="Tabs" unique_id=640092511 instance=ExtResource("3_xmmnr")]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
size_flags_horizontal = 3
index = 1
[node name="Tab3" parent="Tabs" unique_id=1769860923 instance=ExtResource("3_xmmnr")]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
size_flags_horizontal = 3
index = 2
image = ExtResource("5_7d256")
@@ -69,18 +64,14 @@ mouse_filter = 2
[node name="Page1" parent="Pages" unique_id=2037261222 instance=ExtResource("3_quxs6")]
unique_name_in_owner = true
visible = false
layout_mode = 1
mouse_filter = 2
[node name="Page2" parent="Pages" unique_id=1254645647 instance=ExtResource("4_ilf85")]
unique_name_in_owner = true
visible = false
layout_mode = 1
mouse_filter = 2
[node name="Page3" parent="Pages" unique_id=381047815 instance=ExtResource("5_yq2ch")]
unique_name_in_owner = true
visible = false
layout_mode = 1
mouse_filter = 2

View File

@@ -5,24 +5,46 @@ class_name GameMenuTab
signal on_tab_selected(index: int)
@export var bob_height: float = 100
@export var duration: float = 0.5
@export var index: int = 0
@export var image: Texture:
set(value):
image = value
if is_inside_tree() and has_node("%Texture"):
$%Texture.texture_normal = image
var is_selected: bool = false
$%Texture.texture = image
@onready var texture: TextureRect = $%Texture
var is_selected: bool = false
var hover_tween: Tween
func _ready():
if image != null and has_node("%Texture"):
$%Texture.texture_normal = image
$%Texture.texture = image
func _on_texture_pressed() -> void:
on_tab_selected.emit(index)
func _on_gui_input(event: InputEvent) -> void:
if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
on_tab_selected.emit(index)
func select():
is_selected = true
_move_up()
func deselect():
is_selected = false
_move_down()
func select_without_animation():
is_selected = true
texture.position.y = -bob_height
func _move_up():
if hover_tween: hover_tween.kill()
hover_tween = create_tween()
hover_tween.tween_property(texture, "position:y", -bob_height, duration).set_trans(Tween.TRANS_SINE)
func _move_down():
if hover_tween: hover_tween.kill()
var exit_tween = create_tween()
exit_tween.tween_property(texture, "position:y", 0, duration).set_trans(Tween.TRANS_QUAD)

View File

@@ -4,17 +4,22 @@
[ext_resource type="Texture2D" uid="uid://ce1u34fp1h2o5" path="res://core/game_menu/assets/page_1/ticket1.png" id="2_giv8b"]
[node name="GameMenuTab" type="Control" unique_id=2026548604]
custom_minimum_size = Vector2(196, 408)
layout_mode = 3
anchors_preset = 0
anchor_right = 0.10208333
anchor_bottom = 0.40648147
script = ExtResource("1_5bcha")
image = ExtResource("2_giv8b")
[node name="Texture" type="TextureButton" parent="." unique_id=1234672875]
[node name="Texture" type="TextureRect" parent="." unique_id=836668758]
unique_name_in_owner = true
layout_mode = 0
offset_right = 196.0
offset_bottom = 438.0
texture_normal = ExtResource("2_giv8b")
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("2_giv8b")
stretch_mode = 5
[connection signal="pressed" from="Texture" to="." method="_on_texture_pressed"]
[connection signal="gui_input" from="." to="." method="_on_gui_input"]

View File

@@ -0,0 +1,18 @@
extends Control
@onready var photo: Photo = $%Photo
@onready var panel: Panel = $%Panel
func _ready() -> void:
GameState.on_photo_highlighted.connect(_on_photo_highlighted)
func _on_photo_highlighted(texture: Texture) -> void:
if texture != photo.texture_rect.texture:
show()
photo.setup(texture)
func _on_panel_gui_input(event: InputEvent) -> void:
if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
photo.texture_rect.texture = null
hide()

View File

@@ -0,0 +1 @@
uid://uqq4yjdn807o

View File

@@ -0,0 +1,48 @@
[gd_scene format=3 uid="uid://c7t3p8sp54apy"]
[ext_resource type="Script" uid="uid://uqq4yjdn807o" path="res://core/game_menu/highlighted_photo.gd" id="1_j5yug"]
[ext_resource type="PackedScene" uid="uid://cvus62qkop3qi" path="res://core/game_menu/photo.tscn" id="1_x7ou0"]
[node name="HighlightedPhoto" type="Control" unique_id=888465569]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_j5yug")
[node name="Panel" type="Panel" parent="." unique_id=1111309868]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Photo" parent="." unique_id=201865221 instance=ExtResource("1_x7ou0")]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = -1
anchor_left = 0.3625
anchor_top = 0.14351852
anchor_right = 0.6375
anchor_bottom = 0.8564815
mouse_filter = 2
metadata/_edit_use_anchors_ = true
[node name="ColorRect" parent="Photo" index="0" unique_id=1208008621]
anchors_preset = 15
anchor_left = 0.0
anchor_top = 0.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 0.0
offset_top = 0.0
offset_right = 0.0
offset_bottom = 0.0
[connection signal="gui_input" from="Panel" to="." method="_on_panel_gui_input"]
[editable path="Photo"]

View File

@@ -0,0 +1,44 @@
extends Node
@export_group("Settings")
@export var always_active: bool = false
@export var detector_node: Control
@export var visual_node: Control
@export var scale_amount: Vector2 = Vector2(1.1, 1.1)
@export var duration: float = 0.5
var hover_tween: Tween
func _ready():
if not detector_node or not visual_node:
return
if always_active:
_start_tween()
return
detector_node.mouse_entered.connect(_on_mouse_entered)
detector_node.mouse_exited.connect(_on_mouse_exited)
func _on_mouse_entered():
if hover_tween: hover_tween.kill()
_start_tween()
func _on_mouse_exited():
if hover_tween: hover_tween.kill()
_stop_tween()
func _start_tween() -> void:
hover_tween = create_tween().set_loops()
hover_tween.tween_property(visual_node, "scale", scale_amount, duration).set_trans(Tween.TRANS_SINE)
hover_tween.tween_property(visual_node, "scale", Vector2.ONE, duration).set_trans(Tween.TRANS_SINE)
func _stop_tween() -> void:
var exit_tween = create_tween()
exit_tween.tween_property(visual_node, "scale", Vector2.ONE, 0.2).set_trans(Tween.TRANS_QUAD)

View File

@@ -0,0 +1 @@
uid://ryxh3nm7ayvf

View File

@@ -0,0 +1,6 @@
[gd_scene format=3 uid="uid://dxun0jk5t0n6"]
[ext_resource type="Script" uid="uid://ryxh3nm7ayvf" path="res://core/game_menu/hoover_tween.gd" id="1_gmaf4"]
[node name="HooverTween" type="Node" unique_id=160227524]
script = ExtResource("1_gmaf4")

View File

@@ -0,0 +1,36 @@
extends Control
@onready var play_button: Control = $%PlayButton
@onready var resume_button: Control = $%ResumeButton
func _ready() -> void:
GameState.on_game_paused.connect(_on_game_paused)
GameState.on_game_resumed.connect(_on_game_resumed)
resume_button.hide()
func _on_game_paused() -> void:
play_button.hide()
resume_button.show()
func _on_game_resumed() -> void:
play_button.show()
resume_button.hide()
func _on_play_button_on_button_pressed() -> void:
pass # Replace with function body.
func _on_resume_button_on_button_pressed() -> void:
GameState.resume_game()
func _on_save_button_on_button_pressed() -> void:
GameState.save_game()
func _on_quit_button_on_button_pressed() -> void:
GameState.quit_game()

View File

@@ -0,0 +1 @@
uid://cvrjr02dpnafm

View File

@@ -1,35 +1,57 @@
[gd_scene format=3 uid="uid://cxf8s80ivwj1p"]
[ext_resource type="Texture2D" uid="uid://b4nymq3n3468g" path="res://core/game_menu/assets/page_3/play_button.png" id="1_xquiw"]
[ext_resource type="Script" uid="uid://cvrjr02dpnafm" path="res://core/game_menu/option_menu.gd" id="1_cd2sv"]
[ext_resource type="PackedScene" uid="uid://c3alhtb3083qs" path="res://core/game_menu/option_menu_button.tscn" id="2_cd2sv"]
[ext_resource type="Texture2D" uid="uid://dd1exrppb6bjq" path="res://core/game_menu/assets/page_3/resume_button.png" id="2_htoi2"]
[ext_resource type="Texture2D" uid="uid://cmhx3mscwrwft" path="res://core/game_menu/assets/page_3/save_button.png" id="3_vwpol"]
[ext_resource type="Texture2D" uid="uid://v7e7467fkdec" path="res://core/game_menu/assets/page_3/quit_button.png" id="4_cd2sv"]
[node name="OptionMenu" type="Control" unique_id=1055457221]
layout_mode = 3
anchors_preset = 0
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
script = ExtResource("1_cd2sv")
[node name="VBoxContainer" type="VBoxContainer" parent="." unique_id=508055524]
layout_mode = 1
offset_right = 303.0
offset_bottom = 373.0
anchors_preset = -1
anchor_left = 0.41927084
anchor_top = 0.30925927
anchor_right = 0.5807292
anchor_bottom = 0.69074076
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
metadata/_edit_use_anchors_ = true
[node name="PlayButton" type="TextureButton" parent="VBoxContainer" unique_id=46341665]
[node name="PlayButton" parent="VBoxContainer" unique_id=1990327704 instance=ExtResource("2_cd2sv")]
unique_name_in_owner = true
custom_minimum_size = Vector2(310, 100)
layout_mode = 2
texture_normal = ExtResource("1_xquiw")
stretch_mode = 5
[node name="ResumeButton" type="TextureButton" parent="VBoxContainer" unique_id=814859927]
[node name="ResumeButton" parent="VBoxContainer" unique_id=635721927 instance=ExtResource("2_cd2sv")]
unique_name_in_owner = true
custom_minimum_size = Vector2(310, 100)
layout_mode = 2
texture_normal = ExtResource("2_htoi2")
stretch_mode = 5
image = ExtResource("2_htoi2")
[node name="SaveButton" type="TextureButton" parent="VBoxContainer" unique_id=1971935142]
[node name="SaveButton" parent="VBoxContainer" unique_id=1161034414 instance=ExtResource("2_cd2sv")]
unique_name_in_owner = true
custom_minimum_size = Vector2(310, 100)
layout_mode = 2
texture_normal = ExtResource("3_vwpol")
stretch_mode = 5
image = ExtResource("3_vwpol")
[node name="QuitButton" type="TextureButton" parent="VBoxContainer" unique_id=404231737]
[node name="QuitButton" parent="VBoxContainer" unique_id=1804807896 instance=ExtResource("2_cd2sv")]
unique_name_in_owner = true
custom_minimum_size = Vector2(310, 100)
layout_mode = 2
texture_normal = ExtResource("4_cd2sv")
stretch_mode = 5
image = ExtResource("4_cd2sv")
[connection signal="on_button_pressed" from="VBoxContainer/PlayButton" to="." method="_on_play_button_on_button_pressed"]
[connection signal="on_button_pressed" from="VBoxContainer/ResumeButton" to="." method="_on_resume_button_on_button_pressed"]
[connection signal="on_button_pressed" from="VBoxContainer/SaveButton" to="." method="_on_save_button_on_button_pressed"]
[connection signal="on_button_pressed" from="VBoxContainer/QuitButton" to="." method="_on_quit_button_on_button_pressed"]

View File

@@ -0,0 +1,18 @@
@tool
extends Control
signal on_button_pressed
@export var image: Texture:
set(value):
image = value
if is_inside_tree() and has_node("%Texture"):
$%Texture.texture = image
func _ready():
if image != null and has_node("%Texture"):
$%Texture.texture = image
func _on_gui_input(event: InputEvent) -> void:
if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
on_button_pressed.emit()

View File

@@ -0,0 +1 @@
uid://bbhe65f3517m8

View File

@@ -0,0 +1,37 @@
[gd_scene format=3 uid="uid://c3alhtb3083qs"]
[ext_resource type="Texture2D" uid="uid://b4nymq3n3468g" path="res://core/game_menu/assets/page_3/play_button.png" id="1_movd1"]
[ext_resource type="Script" uid="uid://bbhe65f3517m8" path="res://core/game_menu/option_menu_button.gd" id="2_nghpi"]
[ext_resource type="PackedScene" uid="uid://dxun0jk5t0n6" path="res://core/game_menu/hoover_tween.tscn" id="3_am666"]
[node name="OptionMenuButton" type="Control" unique_id=635721927]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("2_nghpi")
image = ExtResource("1_movd1")
[node name="Texture" type="TextureRect" parent="." unique_id=1177880405]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = -1
anchor_left = 0.42135417
anchor_top = 0.45833334
anchor_right = 0.5786458
anchor_bottom = 0.5416667
grow_horizontal = 2
grow_vertical = 2
pivot_offset_ratio = Vector2(0.5, 0.5)
mouse_filter = 2
texture = ExtResource("1_movd1")
stretch_mode = 5
metadata/_edit_use_anchors_ = true
[node name="HooverTween" parent="." unique_id=160227524 node_paths=PackedStringArray("detector_node", "visual_node") instance=ExtResource("3_am666")]
detector_node = NodePath("..")
visual_node = NodePath("../Texture")
[connection signal="gui_input" from="." to="." method="_on_gui_input"]

View File

@@ -13,4 +13,5 @@ visible = false
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
mouse_filter = 2
texture = ExtResource("1_jwl25")

View File

@@ -14,6 +14,10 @@ offset_right = 0.0
offset_bottom = 0.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
[node name="Background" parent="." index="0" unique_id=1203110384]
mouse_filter = 2
[node name="ChooseyourtrainText" type="TextureRect" parent="." index="1" unique_id=1883940124]
layout_mode = 0
@@ -41,7 +45,7 @@ stretch_mode = 3
[node name="BiomeSelector" parent="." index="4" unique_id=1957954960 instance=ExtResource("12_7yi8x")]
layout_mode = 0
offset_left = 1072.0
offset_top = 462.0
offset_right = 1723.0
offset_bottom = 805.0
offset_left = 1038.0
offset_top = 437.0
offset_right = 1738.0
offset_bottom = 837.0

View File

@@ -5,6 +5,7 @@
[ext_resource type="Texture2D" uid="uid://xfl3ks4dbfaw" path="res://core/game_menu/assets/page_2/achievements_text.png" id="3_4uwhd"]
[ext_resource type="PackedScene" uid="uid://b6r787sik5yil" path="res://core/game_menu/photo_gallery.tscn" id="4_3tfra"]
[ext_resource type="PackedScene" uid="uid://bvw086glfpcba" path="res://core/game_menu/collectible_gallery.tscn" id="5_w0bcg"]
[ext_resource type="PackedScene" uid="uid://c7t3p8sp54apy" path="res://core/game_menu/highlighted_photo.tscn" id="6_2273a"]
[node name="Page2" unique_id=2037261222 instance=ExtResource("1_ka6tx")]
anchors_preset = 15
@@ -14,6 +15,10 @@ offset_right = 0.0
offset_bottom = 0.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
[node name="Background" parent="." index="0" unique_id=1203110384]
mouse_filter = 2
[node name="PhotoCollectionText" type="TextureRect" parent="." index="1" unique_id=240014191]
layout_mode = 0
@@ -46,3 +51,7 @@ offset_left = 1050.0
offset_top = 425.0
offset_right = 1690.0
offset_bottom = 835.0011
[node name="HighlightedPhoto" parent="." index="5" unique_id=888465569 instance=ExtResource("6_2273a")]
visible = false
layout_mode = 1

View File

@@ -13,6 +13,7 @@ offset_right = 0.0
offset_bottom = 0.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
[node name="TextureRect" type="TextureRect" parent="." index="1" unique_id=464034413]
layout_mode = 0
@@ -24,10 +25,15 @@ texture = ExtResource("2_ckqcb")
[node name="OptionMenu" parent="." index="2" unique_id=1055457221 instance=ExtResource("2_tymfi")]
layout_mode = 0
offset_left = 1202.0
offset_top = 392.0
offset_right = 1202.0
offset_bottom = 392.0
anchors_preset = 0
anchor_right = 0.0
anchor_bottom = 0.0
offset_left = 1385.0
offset_top = 563.0
offset_right = 1385.0
offset_bottom = 563.0
grow_horizontal = 1
grow_vertical = 1
[node name="SettingsMenu" parent="." index="3" unique_id=1639777294 instance=ExtResource("4_twko7")]
layout_mode = 1

View File

@@ -9,3 +9,8 @@ func setup(texture: Texture) -> void:
if !texture_rect:
texture_rect = $%PhotoTexture
texture_rect.texture = texture
func _on_gui_input(event: InputEvent) -> void:
if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
GameState.on_photo_highlighted.emit(texture_rect.texture)

View File

@@ -1,22 +1,34 @@
[gd_scene format=3 uid="uid://cvus62qkop3qi"]
[ext_resource type="Script" uid="uid://dsey5dvc11vpq" path="res://core/game_menu/photo.gd" id="1_u0arp"]
[ext_resource type="PackedScene" uid="uid://dxun0jk5t0n6" path="res://core/game_menu/hoover_tween.tscn" id="2_62vvn"]
[node name="Photo" type="Control" unique_id=201865221]
custom_minimum_size = Vector2(132, 154)
layout_mode = 3
anchors_preset = 0
offset_right = 132.0
offset_bottom = 154.0
script = ExtResource("1_u0arp")
[node name="ColorRect" type="ColorRect" parent="." unique_id=1208008621]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_u0arp")
[node name="ColorRect" type="ColorRect" parent="." unique_id=1208008621]
custom_minimum_size = Vector2(132, 154)
layout_mode = 1
anchors_preset = -1
anchor_left = 0.465625
anchor_top = 0.4287037
anchor_right = 0.534375
anchor_bottom = 0.5712963
offset_left = 66.0
offset_top = 77.0
offset_right = -66.0
offset_bottom = -77.0
grow_horizontal = 2
grow_vertical = 2
pivot_offset_ratio = Vector2(0.5, 0.5)
mouse_filter = 2
metadata/_edit_use_anchors_ = true
[node name="MarginContainer" type="MarginContainer" parent="ColorRect" unique_id=1141643525]
layout_mode = 1
@@ -34,5 +46,12 @@ theme_override_constants/margin_bottom = 50
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 3
mouse_filter = 2
expand_mode = 1
stretch_mode = 6
[node name="HooverTween" parent="." unique_id=160227524 node_paths=PackedStringArray("detector_node", "visual_node") instance=ExtResource("2_62vvn")]
detector_node = NodePath("..")
visual_node = NodePath("../ColorRect")
[connection signal="gui_input" from="." to="." method="_on_gui_input"]

View File

@@ -25,3 +25,4 @@ func _create_photo_thumbnail(file_path: String) -> void:
var texture = ImageTexture.create_from_image(image)
photo.setup(texture)
grid_container.add_child(photo)
photo.custom_minimum_size = Vector2(132,154)

View File

@@ -8,37 +8,48 @@ layout_mode = 3
anchors_preset = 0
offset_right = 600.0
offset_bottom = 420.0
mouse_filter = 2
script = ExtResource("1_bp5uf")
photo_scene = ExtResource("2_45wok")
[node name="ScrollContainer" type="ScrollContainer" parent="." unique_id=348576028]
layout_mode = 0
offset_right = 600.0
offset_bottom = 400.0
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
draw_focus_border = true
[node name="PhotoGrid" type="GridContainer" parent="ScrollContainer" unique_id=1187865988]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 6
size_flags_vertical = 6
theme_override_constants/h_separation = 44
theme_override_constants/v_separation = 54
columns = 3
[node name="Photo" parent="ScrollContainer/PhotoGrid" unique_id=201865221 instance=ExtResource("2_45wok")]
custom_minimum_size = Vector2(132, 154)
layout_mode = 2
[node name="Photo2" parent="ScrollContainer/PhotoGrid" unique_id=427039285 instance=ExtResource("2_45wok")]
custom_minimum_size = Vector2(132, 154)
layout_mode = 2
[node name="Photo3" parent="ScrollContainer/PhotoGrid" unique_id=800591401 instance=ExtResource("2_45wok")]
custom_minimum_size = Vector2(132, 154)
layout_mode = 2
[node name="Photo4" parent="ScrollContainer/PhotoGrid" unique_id=1895298585 instance=ExtResource("2_45wok")]
custom_minimum_size = Vector2(132, 154)
layout_mode = 2
[node name="Photo5" parent="ScrollContainer/PhotoGrid" unique_id=2093353381 instance=ExtResource("2_45wok")]
custom_minimum_size = Vector2(132, 154)
layout_mode = 2
[node name="Photo6" parent="ScrollContainer/PhotoGrid" unique_id=316021755 instance=ExtResource("2_45wok")]
custom_minimum_size = Vector2(132, 154)
layout_mode = 2

View File

@@ -23,46 +23,40 @@ layout_mode = 2
[node name="ArrowButtonLeft" parent="HBoxContainer2" unique_id=103192648 instance=ExtResource("2_puip6")]
layout_mode = 2
flip_h = true
[node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer2" unique_id=1364417494]
layout_mode = 2
theme_override_constants/separation = 18
alignment = 1
[node name="ColorPicker" parent="HBoxContainer2/HBoxContainer" unique_id=59169767 instance=ExtResource("3_i2rs1")]
layout_mode = 2
texture_normal = ExtResource("4_cfvtr")
stretch_mode = 3
size_flags_vertical = 4
image = ExtResource("4_cfvtr")
[node name="ColorPicker2" parent="HBoxContainer2/HBoxContainer" unique_id=584054476 instance=ExtResource("3_i2rs1")]
layout_mode = 2
texture_normal = ExtResource("5_jnto8")
stretch_mode = 3
size_flags_vertical = 4
image = ExtResource("5_jnto8")
[node name="ColorPicker3" parent="HBoxContainer2/HBoxContainer" unique_id=889429149 instance=ExtResource("3_i2rs1")]
layout_mode = 2
texture_normal = ExtResource("6_dxnpq")
stretch_mode = 3
size_flags_vertical = 4
image = ExtResource("6_dxnpq")
[node name="ColorPicker4" parent="HBoxContainer2/HBoxContainer" unique_id=466686411 instance=ExtResource("3_i2rs1")]
layout_mode = 2
texture_normal = ExtResource("7_d1sdr")
stretch_mode = 3
size_flags_vertical = 4
image = ExtResource("7_d1sdr")
[node name="ColorPicker5" parent="HBoxContainer2/HBoxContainer" unique_id=675841518 instance=ExtResource("3_i2rs1")]
layout_mode = 2
stretch_mode = 3
size_flags_vertical = 4
[node name="ColorPicker6" parent="HBoxContainer2/HBoxContainer" unique_id=1698412911 instance=ExtResource("3_i2rs1")]
layout_mode = 2
texture_normal = ExtResource("8_tuh6m")
stretch_mode = 3
size_flags_vertical = 4
image = ExtResource("8_tuh6m")
[node name="ArrowButtonRight" parent="HBoxContainer2" unique_id=68298624 instance=ExtResource("2_puip6")]
layout_mode = 2
flip_h = true

View File

@@ -1,5 +1,12 @@
extends Node
@warning_ignore("unused_signal")
signal on_game_paused
@warning_ignore("unused_signal")
signal on_game_resumed
@warning_ignore("unused_signal")
signal on_photo_highlighted(teture: Texture)
const SAVE_PATH: String = "user://savegame.json"
var save_data: SaveGameData = SaveGameData.new()
@@ -30,3 +37,12 @@ func load_game() -> void:
save_data = SaveGameData.from_dictionary(json.data)
is_loaded = true
func pause_game() -> void:
get_tree().paused = true
func resume_game() -> void:
get_tree().paused = false
func quit_game() -> void:
get_tree().quit()