Gallery Menu initial implementation

This commit is contained in:
2025-11-30 20:17:08 -08:00
parent 725547d388
commit c491ea5050
8 changed files with 323 additions and 2 deletions

View File

@@ -32,6 +32,8 @@ public partial class App : Node, IApp
[Node] private OptionsMenu OptionsMenu { get; set; }
[Node] private GalleryMenu GalleryMenu { get; set; }
public IInstantiator Instantiator { get; set; } = default!;
IAppRepo IProvide<IAppRepo>.Value() => AppRepo;
@@ -77,6 +79,7 @@ public partial class App : Node, IApp
MainMenu.StartGame += OnStartGame;
MainMenu.EnemyViewer += OnEnemyViewer;
MainMenu.Gallery += OnGallery;
MainMenu.Options += OnOptions;
MainMenu.Quit += OnQuit;
_loadedScene.Changed += OnGameLoaded;
@@ -182,12 +185,20 @@ public partial class App : Node, IApp
private void OnEnemyViewer() => AppLogic.Input(new AppLogic.Input.EnemyViewerOpened());
private void OnGalleryViewer() => AppLogic.Input(new AppLogic.Input.GalleryOpened());
private async void OnOptions()
{
OptionsMenu.Show();
OptionsMenu.MasterVolumeSlider.GrabFocus();
}
private async void OnGallery()
{
GalleryMenu.Show();
GalleryMenu.Item1Thumb.GrabFocus();
}
public void OnQuit() => AppLogic.Input(new AppLogic.Input.QuitGame());
public void OnSaveFileLoaded()

View File

@@ -1,9 +1,10 @@
[gd_scene load_steps=5 format=3 uid="uid://cagfc5ridmteu"]
[gd_scene load_steps=6 format=3 uid="uid://cagfc5ridmteu"]
[ext_resource type="Script" uid="uid://d1f8blk5ucqvq" path="res://src/app/App.cs" id="1_rt73h"]
[ext_resource type="PackedScene" uid="uid://rfvnddfqufho" path="res://src/menu/MainMenu.tscn" id="2_1uiag"]
[ext_resource type="PackedScene" uid="uid://drkl3btdy6uxj" path="res://src/options/OptionsMenu.tscn" id="2_v0mgf"]
[ext_resource type="PackedScene" uid="uid://cpjlj7kxdhv16" path="res://src/menu/LoadingScreen.tscn" id="3_3st5l"]
[ext_resource type="PackedScene" uid="uid://cm6fo70yb2hip" path="res://src/ui/gallery/GalleryMenu.tscn" id="5_iuu71"]
[node name="App" type="Node"]
process_mode = 3
@@ -18,3 +19,7 @@ visible = false
[node name="MainMenu" parent="." instance=ExtResource("2_1uiag")]
unique_name_in_owner = true
[node name="GalleryMenu" parent="." instance=ExtResource("5_iuu71")]
unique_name_in_owner = true
visible = false