General UI Work

This commit is contained in:
2025-12-03 23:21:29 -08:00
parent 34742d568e
commit 6f90a0985a
58 changed files with 1999 additions and 1621 deletions

View File

@@ -1,4 +1,4 @@
<Project Sdk="Godot.NET.Sdk/4.4.1">
<Project Sdk="Godot.NET.Sdk/4.4.0">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>

View File

@@ -36,8 +36,7 @@ runtime/advanced/uses_dotnet=true
window/size/viewport_width=1920
window/size/viewport_height=1080
window/stretch/mode="viewport"
window/stretch/aspect="expand"
window/stretch/mode="canvas_items"
[dotnet]

View File

@@ -84,6 +84,8 @@ public partial class App : Node, IApp
MainMenu.Quit += OnQuit;
_loadedScene.Changed += OnGameLoaded;
GalleryMenu.GalleryExited += GalleryExited;
OptionsMenu.OptionsMenuExited += OptionsMenu_OptionsMenuExited;
OptionsMenu.DeleteSaveData += DeleteSaveData;
AppRepo = _container.GetInstance<IAppRepo>();
@@ -113,6 +115,12 @@ public partial class App : Node, IApp
MainMenu.OptionsButton.GrabFocus();
}
private void GalleryExited()
{
GalleryMenu.Hide();
MainMenu.GalleryButton.GrabFocus();
}
private void OnGameLoaded(string sceneName)
{
LoadingScreen.Hide();
@@ -190,13 +198,13 @@ public partial class App : Node, IApp
private async void OnOptions()
{
OptionsMenu.Show();
OptionsMenu.MasterVolumeSlider.GrabFocus();
OptionsMenu.GameTab.GrabFocus();
}
private async void OnGallery()
{
GalleryMenu.Show();
GalleryMenu.PreviousButton.GrabFocus();
GalleryMenu.ItemButton1.GrabFocus();
}
public void OnQuit() => AppLogic.Input(new AppLogic.Input.QuitGame());

View File

@@ -13,13 +13,13 @@ script = ExtResource("1_rt73h")
[node name="LoadingScreen" parent="." instance=ExtResource("3_3st5l")]
unique_name_in_owner = true
[node name="MainMenu" parent="." instance=ExtResource("2_1uiag")]
unique_name_in_owner = true
[node name="OptionsMenu" parent="." instance=ExtResource("2_v0mgf")]
unique_name_in_owner = true
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

View File

@@ -38,7 +38,7 @@ public partial class Game : Node3D, IGame
[Node] private InGameUI InGameUI { get; set; } = default!;
[Node] private IFloorClearMenu FloorClearMenu { get; set; } = default!;
[Node] private IFloorClearMenu LoadNextLevel { get; set; } = default!;
[Node] private DeathMenu DeathMenu { get; set; } = default!;
@@ -71,6 +71,8 @@ public partial class Game : Node3D, IGame
private IPlayer _player;
private IMap _map;
[Signal] private delegate void OnLoadLevelRequestEventHandler();
public Game()
{
_container = new SimpleInjector.Container();
@@ -156,14 +158,18 @@ public partial class Game : Node3D, IGame
InGameUI.UseTeleportPrompt.TeleportToNextFloor += UseTeleportPrompt_TeleportToNextFloor;
InGameUI.UseTeleportPrompt.CloseTeleportPrompt += UseTeleportPrompt_CloseTeleportPrompt;
FloorClearMenu.GoToNextFloor += FloorClearMenu_GoToNextFloor;
FloorClearMenu.Exit += FloorClearMenu_Exit;
FloorClearMenu.TransitionCompleted += FloorClearMenu_TransitionCompleted;
LoadNextLevel.GoToNextFloor += FloorClearMenu_GoToNextFloor;
LoadNextLevel.Exit += FloorClearMenu_Exit;
LoadNextLevel.TransitionCompleted += FloorClearMenu_TransitionCompleted;
OnLoadLevelRequest += LoadLevel;
GameRepo.RestorativePickedUp += GameEventDepot_RestorativePickedUp;
_player.Inventory.BroadcastMessage += BroadcastMessage;
_map.FloorLoaded += OnFloorLoadFinished;
_player.PlayerDied += GameOver;
DeathMenu.NewGame += OnNewGame;
DeathMenu.QuitGame += OnQuit;
@@ -303,13 +309,13 @@ public partial class Game : Node3D, IGame
.Handle((in GameState.Output.OpenFloorExitScreen _) =>
{
InGameUI.UseTeleportPrompt.FadeOut();
FloorClearMenu.Show();
FloorClearMenu.FadeIn();
LoadNextLevel.Show();
LoadNextLevel.FadeIn();
})
.Handle((in GameState.Output.LoadNextFloor _) =>
{
FloorClearMenu.FadeOut();
Task.Run(() => _map.LoadFloor());
LoadNextLevel.FadeOut();
EmitSignal(SignalName.OnLoadLevelRequest);
Task.Run(() => Save());
if (_player.EquipmentComponent.EquippedWeapon.Value.ItemTag == ItemTag.BreaksOnChange)
{
@@ -329,7 +335,7 @@ public partial class Game : Node3D, IGame
_player.Unequip(itemToDestroy);
_player.Inventory.Remove(itemToDestroy);
}
FloorClearMenu.FadeOut();
LoadNextLevel.FadeOut();
})
.Handle((in GameState.Output.GameOver _) =>
{
@@ -345,6 +351,8 @@ public partial class Game : Node3D, IGame
InGameUI.Hide();
}
private async void LoadLevel() => await _map.LoadFloor();
private void FloorClearMenu_GoToNextFloor() => GameState.Input(new GameState.Input.LoadNextFloor());
private void DropRestorative(Vector3 vector)
@@ -494,15 +502,20 @@ public partial class Game : Node3D, IGame
GameRepo.Resume();
}
private void OnFloorLoadFinished()
{
LoadNextLevel.Hide();
}
private void OnQuit() => GetTree().Root.QueueFree();
public void OnExitTree()
{
InGameUI.UseTeleportPrompt.TeleportToNextFloor -= UseTeleportPrompt_TeleportToNextFloor;
InGameUI.UseTeleportPrompt.CloseTeleportPrompt -= UseTeleportPrompt_CloseTeleportPrompt;
FloorClearMenu.GoToNextFloor -= FloorClearMenu_GoToNextFloor;
FloorClearMenu.Exit -= FloorClearMenu_Exit;
FloorClearMenu.TransitionCompleted -= FloorClearMenu_TransitionCompleted;
LoadNextLevel.GoToNextFloor -= FloorClearMenu_GoToNextFloor;
LoadNextLevel.Exit -= FloorClearMenu_Exit;
LoadNextLevel.TransitionCompleted -= FloorClearMenu_TransitionCompleted;
_player.Inventory.BroadcastMessage -= BroadcastMessage;

View File

@@ -2,8 +2,8 @@
[ext_resource type="Script" uid="uid://chftlu4proh3d" path="res://src/game/Game.cs" id="1_ytcii"]
[ext_resource type="PackedScene" uid="uid://b1muxus5qdbeu" path="res://src/ui/in_game_ui/InGameUI.tscn" id="5_lxtnp"]
[ext_resource type="PackedScene" uid="uid://cgwiwufvxvfs4" path="res://src/ui/load_next_level/LoadNextLevel.tscn" id="7_yw8km"]
[ext_resource type="Script" uid="uid://cbal5oeaha4nx" path="res://src/ui/pause_menu/PauseMenu.cs" id="11_5ng8c"]
[ext_resource type="PackedScene" uid="uid://pu6gp8de3ck4" path="res://src/ui/floor_clear/FloorClearMenu.tscn" id="11_rya1n"]
[ext_resource type="PackedScene" uid="uid://dbtfgrtgpr4qg" path="res://src/ui/death_menu/DeathMenu.tscn" id="11_wypid"]
[ext_resource type="PackedScene" uid="uid://blbqgw3wosc1w" path="res://src/ui/pause_menu/PauseMenu.tscn" id="12_yev8k"]
@@ -39,9 +39,8 @@ custom_minimum_size = Vector2(1280, 720)
unique_name_in_owner = true
visible = false
[node name="FloorClearMenu" parent="." instance=ExtResource("11_rya1n")]
[node name="LoadNextLevel" parent="." instance=ExtResource("7_yw8km")]
unique_name_in_owner = true
visible = false
[node name="PauseMenu" parent="." instance=ExtResource("12_yev8k")]
unique_name_in_owner = true

View File

@@ -1,10 +1,10 @@
[gd_resource type="Resource" script_class="ThrowableItemStats" load_steps=3 format=3 uid="uid://qqg0gdcb8fwg"]
[ext_resource type="Texture2D" uid="uid://dhfn51smm818x" path="res://src/items/throwable/textures/spell sign - luck.PNG" id="1_3605p"]
[ext_resource type="Script" uid="uid://d3wlunkcuv2w2" path="res://src/items/throwable/ThrowableItemStats.cs" id="1_s3pq7"]
[ext_resource type="Texture2D" uid="uid://dhfn51smm818x" path="res://src/items/throwable/textures/spell sign - luck.PNG" id="1_rrkyf"]
[ext_resource type="Script" uid="uid://d3wlunkcuv2w2" path="res://src/items/throwable/ThrowableItemStats.cs" id="2_5t61b"]
[resource]
script = ExtResource("1_s3pq7")
script = ExtResource("2_5t61b")
HealHPAmount = 8
HealVTAmount = 3
ThrowableItemTag = 1
@@ -12,7 +12,7 @@ ElementType = 0
UsableItemTag = 0
MinimumCount = 1
MaximumCount = 8
Name = "Spell Sign: Knowledge"
Name = "An Bradán Feasa"
Description = "Doubles experience points earned. Effect is temporary."
SpawnRate = 0.1
BonusAttack = 0
@@ -28,4 +28,4 @@ FerrumResistance = 0
ThrowSpeed = 12.0
ThrowDamage = 5
ItemTag = 0
Texture = ExtResource("1_3605p")
Texture = ExtResource("1_rrkyf")

View File

@@ -25,4 +25,6 @@ public interface IMap : INode3D
public AutoProp<int> CurrentFloorNumber { get; }
public event Action<Transform3D> SpawnPointCreated;
public event Action FloorLoaded;
}

View File

@@ -30,15 +30,16 @@ public partial class Map : Node3D, IMap
public event Action<Transform3D> SpawnPointCreated;
public event Action FloorLoaded;
public void OnResolved()
{
this.Provide();
InitializeMapData();
}
public void InitializeMapData()
{
CurrentFloorNumber.OnNext(0);
CurrentFloorNumber.OnNext(-1);
}
public IDungeonRoom GetPlayersCurrentRoom()
@@ -52,7 +53,7 @@ public partial class Map : Node3D, IMap
public async Task LoadFloor()
{
var floor = MapOrder.GetChildren().OfType<FloorNode>().ElementAt(CurrentFloorNumber.Value);
var floor = MapOrder.GetChildren().OfType<FloorNode>().ElementAt(CurrentFloorNumber.Value + 1);
var sceneToLoad = LayoutToScenePathConverter.Convert(floor);
await LoadFloor(sceneToLoad);
if (CurrentFloor is DungeonFloor dungeonFloor && floor is DungeonFloorNode dungeonFloorNode)
@@ -82,6 +83,7 @@ public partial class Map : Node3D, IMap
SetupDungeonFloor();
CurrentFloor.FloorIsLoaded = true;
CurrentFloorNumber.OnNext(CurrentFloorNumber.Value + 1);
FloorLoaded?.Invoke();
}
private async Task<Node> LoadNewFloor(string sceneName)

View File

@@ -76,6 +76,10 @@ libraries = {
[node name="MapOrder" type="Node" parent="."]
unique_name_in_owner = true
[node name="Altar" type="Node" parent="MapOrder"]
script = ExtResource("3_v14r0")
FloorName = 1
[node name="FirstFloor" type="Node" parent="MapOrder"]
script = ExtResource("2_00xd7")
FolderName = "SetAFloors"

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=8 format=3 uid="uid://bwbofurcvf3yh"]
[gd_scene load_steps=10 format=3 uid="uid://bwbofurcvf3yh"]
[ext_resource type="Script" uid="uid://cxi8msbee56t2" path="res://src/minimap/Minimap.cs" id="1_yn75n"]
[ext_resource type="FontFile" uid="uid://duu4matpexcq4" path="res://src/ui/fonts/LSANS.TTF" id="2_75ec6"]
@@ -12,10 +12,25 @@
default_font = ExtResource("2_75ec6")
default_font_size = 50
[sub_resource type="LabelSettings" id="LabelSettings_yn75n"]
font = ExtResource("2_75ec6")
font_size = 35
font_color = Color(0.792157, 0.698039, 0.643137, 1)
shadow_size = 3
shadow_color = Color(0.117647, 0.117647, 0.117647, 0.760784)
shadow_offset = Vector2(-3, 1)
[sub_resource type="Theme" id="Theme_qgswn"]
default_font = ExtResource("3_yn75n")
default_font_size = 50
[sub_resource type="LabelSettings" id="LabelSettings_75ec6"]
font = ExtResource("3_yn75n")
font_size = 40
shadow_size = 3
shadow_color = Color(0.117647, 0.117647, 0.117647, 0.760784)
shadow_offset = Vector2(-3, 1)
[node name="Minimap" type="Control"]
process_mode = 3
light_mask = 2
@@ -46,6 +61,7 @@ layout_mode = 2
transparent_bg = true
handle_input_locally = false
size = Vector2i(350, 300)
render_target_update_mode = 4
[node name="Minimap Camera" type="Camera3D" parent="CenterContainer/SubViewportContainer/SubViewport"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -21.7374, 240.05, 2.76249)
@@ -83,17 +99,18 @@ theme_override_constants/shadow_offset_x = 1
theme_override_constants/shadow_offset_y = -2
theme_override_constants/shadow_outline_size = 15
theme_override_font_sizes/font_size = 40
text = "Layer"
text = "LAYER"
label_settings = SubResource("LabelSettings_yn75n")
vertical_alignment = 2
[node name="LayerNumberText" type="Label" parent="CenterContainer/SubViewportContainer/SubViewport/MarginContainer/Control"]
unique_name_in_owner = true
custom_minimum_size = Vector2(80, 15)
layout_mode = 2
offset_left = 86.0
offset_top = 28.0
offset_right = 166.0
offset_bottom = 80.0
offset_left = 87.0
offset_top = 20.0
offset_right = 167.0
offset_bottom = 72.0
theme = SubResource("Theme_qgswn")
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_shadow_color = Color(1, 1, 1, 0.027451)
@@ -103,4 +120,5 @@ theme_override_constants/shadow_offset_y = -2
theme_override_constants/outline_size = 2
theme_override_font_sizes/font_size = 40
text = "01"
label_settings = SubResource("LabelSettings_75ec6")
horizontal_alignment = 1

View File

@@ -12,7 +12,7 @@ using Zennysoft.Game.Implementation;
namespace Zennysoft.Game.Ma;
[Meta(typeof(IAutoNode))]
public partial class InputMapper : PanelContainer
public partial class InputMapper : Control
{
public override void _Notification(int what) => this.Notify(what);
@@ -147,6 +147,8 @@ public partial class InputMapper : PanelContainer
VisibilityChanged += InputMapper_VisibilityChanged;
FocusEntered += InputMapper_FocusEntered;
InputHelper.JoypadInputChanged += (string action, InputEvent input) =>
{
if (!_remappingController)
@@ -191,6 +193,11 @@ public partial class InputMapper : PanelContainer
joyPadButton.Disabled = true;
}
private void InputMapper_FocusEntered()
{
MoveForwardKeyboard.GrabFocus();
}
private void CancelRemap()
{
var allButtons = _actionKeyMap.Concat<InputMapButton>(_actionJoyMap);

View File

@@ -1,25 +1,24 @@
[gd_scene load_steps=4 format=3 uid="uid://dk5esf6mm6kte"]
[gd_scene load_steps=5 format=3 uid="uid://dk5esf6mm6kte"]
[ext_resource type="Script" uid="uid://c6lw5yp8p0wb5" path="res://src/options/InputMapper.cs" id="1_rwvs3"]
[ext_resource type="Script" uid="uid://b70br20xue678" path="res://src/options/KeyboardRemapButton.cs" id="2_fmxfy"]
[ext_resource type="LabelSettings" uid="uid://b6f8ggy3ulonb" path="res://src/ui/label_settings/GeorgiaItalic.tres" id="2_yis0i"]
[ext_resource type="Script" uid="uid://bo7vk56h1lr07" path="res://src/options/JoypadRemapButton.cs" id="3_yis0i"]
[node name="InputMapper" type="PanelContainer"]
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -451.0
offset_top = -451.0
offset_right = 449.0
offset_bottom = 449.0
grow_horizontal = 2
grow_vertical = 2
[node name="InputMapper" type="Control"]
layout_mode = 3
anchors_preset = 0
offset_right = 1280.0
offset_bottom = 720.0
script = ExtResource("1_rwvs3")
[node name="MarginContainer" type="MarginContainer" parent="."]
layout_mode = 2
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 0
theme_override_constants/margin_left = 25
theme_override_constants/margin_top = 25
@@ -27,8 +26,10 @@ theme_override_constants/margin_right = 25
theme_override_constants/margin_bottom = 25
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
custom_minimum_size = Vector2(50, 50)
layout_mode = 2
theme_override_constants/separation = 20
alignment = 1
[node name="ScrollContainer" type="ScrollContainer" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
@@ -48,6 +49,7 @@ layout_mode = 2
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Actions"
label_settings = ExtResource("2_yis0i")
horizontal_alignment = 2
[node name="Control" type="Control" parent="MarginContainer/VBoxContainer/ScrollContainer/ActionList/Header"]
@@ -58,6 +60,7 @@ size_flags_horizontal = 3
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Keyboard"
label_settings = ExtResource("2_yis0i")
horizontal_alignment = 1
[node name="Control2" type="Control" parent="MarginContainer/VBoxContainer/ScrollContainer/ActionList/Header"]
@@ -68,6 +71,7 @@ size_flags_horizontal = 3
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Controller"
label_settings = ExtResource("2_yis0i")
horizontal_alignment = 1
[node name="Move Forward" type="HBoxContainer" parent="MarginContainer/VBoxContainer/ScrollContainer/ActionList"]
@@ -77,6 +81,7 @@ layout_mode = 2
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Move Forward"
label_settings = ExtResource("2_yis0i")
horizontal_alignment = 2
[node name="Control" type="Control" parent="MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Forward"]
@@ -106,6 +111,7 @@ layout_mode = 2
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Move Left"
label_settings = ExtResource("2_yis0i")
horizontal_alignment = 2
[node name="Control" type="Control" parent="MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Left"]
@@ -135,6 +141,7 @@ layout_mode = 2
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Move Right"
label_settings = ExtResource("2_yis0i")
horizontal_alignment = 2
[node name="Control" type="Control" parent="MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Right"]
@@ -164,6 +171,7 @@ layout_mode = 2
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Move Backward"
label_settings = ExtResource("2_yis0i")
horizontal_alignment = 2
[node name="Control" type="Control" parent="MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Backward"]
@@ -193,6 +201,7 @@ layout_mode = 2
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Strafe Left"
label_settings = ExtResource("2_yis0i")
horizontal_alignment = 2
[node name="Control" type="Control" parent="MarginContainer/VBoxContainer/ScrollContainer/ActionList/Strafe Left"]
@@ -222,6 +231,7 @@ layout_mode = 2
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Strafe Right"
label_settings = ExtResource("2_yis0i")
horizontal_alignment = 2
[node name="Control" type="Control" parent="MarginContainer/VBoxContainer/ScrollContainer/ActionList/Strafe Right"]
@@ -251,6 +261,7 @@ layout_mode = 2
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Attack"
label_settings = ExtResource("2_yis0i")
horizontal_alignment = 2
[node name="Control" type="Control" parent="MarginContainer/VBoxContainer/ScrollContainer/ActionList/Attack"]
@@ -280,6 +291,7 @@ layout_mode = 2
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Interact"
label_settings = ExtResource("2_yis0i")
horizontal_alignment = 2
[node name="Control" type="Control" parent="MarginContainer/VBoxContainer/ScrollContainer/ActionList/Interact"]
@@ -309,6 +321,7 @@ layout_mode = 2
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Open Inventory"
label_settings = ExtResource("2_yis0i")
horizontal_alignment = 2
[node name="Control" type="Control" parent="MarginContainer/VBoxContainer/ScrollContainer/ActionList/Open Inventory"]
@@ -338,6 +351,7 @@ layout_mode = 2
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Sort Inventory"
label_settings = ExtResource("2_yis0i")
horizontal_alignment = 2
[node name="Control" type="Control" parent="MarginContainer/VBoxContainer/ScrollContainer/ActionList/Sort Inventory"]

View File

@@ -16,6 +16,9 @@ public partial class OptionsData : Node
[Save("SFXVolume")]
public required double SFXVolumeLevel { get; set; }
[Save("AudioDevice")]
public required string AudioDeviceName { get; set; }
[Save("ScreenResolution")]
public required int ScreenResolution { get; set; }

View File

@@ -1,7 +1,6 @@
using Chickensoft.AutoInject;
using Chickensoft.Introspection;
using Godot;
using NathanHoad;
using System;
using System.Linq;
@@ -13,29 +12,42 @@ public partial class OptionsMenu : Control
public override void _Notification(int what) => this.Notify(what);
[Node] public OptionButton ResolutionOptions { get; set; }
[Node] public OptionButton SoundDeviceOptions { get; set; }
[Node] public HSlider MasterVolumeSlider { get; set; }
[Node] public HSlider MusicVolumeSlider { get; set; }
[Node] public HSlider SFXVolumeSlider { get; set; }
[Node] public Button SELabel { get; set; }
[Node] public Button MusicLabel { get; set; }
[Node] public Button MasterLabel { get; set; }
[Node] public InputMapper Controller { get; set; }
[Node] public TabContainer TabContainer { get; set; }
[Node] public CheckBox SkipOpeningCSCheck { get; set; }
[Node] public Button DeleteSaveButton { get; set; }
[Node] public CanvasLayer CanvasLayer { get; set; }
[Node] public Control ConfirmDeletePopup { get; set; }
[Node] public Button YesDeleteButton { get; set; }
[Node] public Button NoDeleteButton { get; set; }
[Node] public Control Game { get; set; }
[Node] public Control Audio { get; set; }
[Node] public Button GameTab { get; set; }
[Node] public Button AudioTab { get; set; }
[Node] public Button ControllerTab { get; set; }
private TabOption _currentTab = TabOption.Game;
public OptionsData OptionsData;
private int _masterBusIndex;
private int _musicBusIndex;
private int _sfxBusIndex;
private Control _currentFocus;
private readonly DisplayServer.WindowMode[] _windowModes = [DisplayServer.WindowMode.Windowed, DisplayServer.WindowMode.Maximized, DisplayServer.WindowMode.Fullscreen, DisplayServer.WindowMode.ExclusiveFullscreen];
[Signal] public delegate void OptionsMenuExitedEventHandler();
@@ -49,11 +61,22 @@ public partial class OptionsMenu : Control
ResolutionOptions.AddItem("Exclusive Fullscreen");
ResolutionOptions.Select(0);
var devices = AudioServer.GetOutputDeviceList();
foreach (var device in devices)
SoundDeviceOptions.AddItem(device);
SoundDeviceOptions.Select(0);
SoundDeviceOptions.AllowReselect = true;
SoundDeviceOptions.Pressed += SoundDeviceOptions_Pressed;
SoundDeviceOptions.ItemSelected += ChangeAudioDevice;
OptionsData = new OptionsData()
{
MasterVolumeLevel = MasterVolumeSlider.Value,
MusicVolumeLevel = MusicVolumeSlider.Value,
SFXVolumeLevel = SFXVolumeSlider.Value,
AudioDeviceName = "Default",
ScreenResolution = ResolutionOptions.GetSelectedId(),
SkipCutscene = SkipOpeningCSCheck.ButtonPressed
};
@@ -70,14 +93,127 @@ public partial class OptionsMenu : Control
ResolutionOptions.ItemSelected += ResolutionOptions_ItemSelected;
TabContainer.TabChanged += TabContainer_TabChanged;
TabContainer.TabSelected += TabContainer_TabChanged;
_masterBusIndex = AudioServer.GetBusIndex("Master");
_musicBusIndex = AudioServer.GetBusIndex("MUSIC");
_sfxBusIndex = AudioServer.GetBusIndex("SFX");
VisibilityChanged += OptionsMenu_VisibilityChanged;
GameTab.FocusEntered += Game_FocusEntered;
AudioTab.FocusEntered += Audio_FocusEntered;
ControllerTab.FocusEntered += Controller_FocusEntered;
SELabel.Pressed += SELabel_Pressed;
MusicLabel.Pressed += MusicLabel_Pressed;
MasterLabel.Pressed += MasterLabel_Pressed;
GetViewport().GuiFocusChanged += OptionsMenu_GuiFocusChanged;
}
public override void _Input(InputEvent @event)
{
if (!Visible)
return;
if (Input.IsActionJustPressed(GameInputs.Interact) || Input.IsActionJustPressed(GameInputs.Attack))
{
if (SFXVolumeSlider.HasFocus())
{
SELabel.GrabFocus();
AcceptEvent();
return;
}
if (MusicVolumeSlider.HasFocus())
{
MusicLabel.GrabFocus();
AcceptEvent();
return;
}
if (MasterVolumeSlider.HasFocus())
{
MasterLabel.GrabFocus();
AcceptEvent();
return;
}
}
if (Input.IsActionJustPressed(GameInputs.Interact) || Input.IsActionJustPressed(GameInputs.Pause))
{
if (GameTab.HasFocus() || AudioTab.HasFocus() || ControllerTab.HasFocus())
{
AcceptEvent();
SaveAndExitMenu();
}
else
{
var path = GetPathTo(_currentFocus).ToString();
if (path.Contains("Game"))
GameTab.GrabFocus();
else if (path.Contains("Audio"))
AudioTab.GrabFocus();
else if (path.Contains("Controller"))
ControllerTab.GrabFocus();
}
}
}
private void ResolutionOptions_ItemSelected(long index)
{
var resolutionIndex = ResolutionOptions.GetSelectedId();
OptionsData.ScreenResolution = resolutionIndex;
DisplayServer.WindowSetMode(_windowModes[resolutionIndex]);
}
private void ChangeAudioDevice(long index)
{
var i = SoundDeviceOptions.GetSelectedId();
var deviceName = SoundDeviceOptions.GetItemText(i);
AudioServer.SetOutputDevice(deviceName);
OptionsData.AudioDeviceName = deviceName;
}
public void Load(OptionsData optionsData)
{
MasterVolumeSlider.Value = optionsData.MasterVolumeLevel;
MusicVolumeSlider.Value = optionsData.MusicVolumeLevel;
SFXVolumeSlider.Value = optionsData.SFXVolumeLevel;
ResolutionOptions.Select(optionsData.ScreenResolution);
var audioDevices = AudioServer.GetOutputDeviceList();
if (!audioDevices.Contains(optionsData.AudioDeviceName))
SoundDeviceOptions.Select(0);
else
{
var selectedDeviceIndex = AudioServer.GetOutputDeviceList().ToList().IndexOf(optionsData.AudioDeviceName);
SoundDeviceOptions.Select(selectedDeviceIndex);
}
SkipOpeningCSCheck.ButtonPressed = optionsData.SkipCutscene;
DisplayServer.WindowSetMode(_windowModes[optionsData.ScreenResolution]);
}
private void OptionsMenu_GuiFocusChanged(Control node) => _currentFocus = node;
private void MasterLabel_Pressed()
{
MasterVolumeSlider.GrabFocus();
}
private void MusicLabel_Pressed()
{
MusicVolumeSlider.GrabFocus();
}
private void SELabel_Pressed()
{
SFXVolumeSlider.GrabFocus();
}
private void SoundDeviceOptions_Pressed()
{
var selectedItem = SoundDeviceOptions.Selected;
SoundDeviceOptions.Clear();
var devices = AudioServer.GetOutputDeviceList();
foreach (var device in devices)
SoundDeviceOptions.AddItem(device);
SoundDeviceOptions.Select(selectedItem);
}
private void SkipOpeningCS_Pressed() => OptionsData.SkipCutscene = SkipOpeningCSCheck.ButtonPressed;
@@ -103,64 +239,6 @@ public partial class OptionsMenu : Control
ConfirmDeletePopup.Show();
}
private void TabContainer_TabChanged(long tab)
{
if (tab == (int)TabOption.Game)
SkipOpeningCSCheck.CallDeferred(MethodName.GrabFocus);
if (tab == (int)TabOption.Audio)
MasterVolumeSlider.CallDeferred(MethodName.GrabFocus);
if (tab == (int)TabOption.Controls)
Controller.MoveForwardKeyboard.CallDeferred(MethodName.GrabFocus);
}
private void OptionsMenu_VisibilityChanged()
{
CanvasLayer.Visible = !CanvasLayer.Visible;
if (CanvasLayer.Visible)
TabContainer_TabChanged(TabContainer.CurrentTab);
}
public override void _Input(InputEvent @event)
{
if (!Visible)
return;
if (Input.IsActionJustPressed(GameInputs.Interact) || Input.IsActionJustPressed(GameInputs.Pause))
{
AcceptEvent();
SaveAndExitMenu();
}
if (Input.IsActionJustPressed(GameInputs.StrafeLeft))
{
AcceptEvent();
TabContainer.CurrentTab = Mathf.Max(0, TabContainer.CurrentTab - 1);
}
if (Input.IsActionJustPressed(GameInputs.StrafeRight))
{
AcceptEvent();
TabContainer.CurrentTab = Mathf.Min(TabContainer.GetTabCount() - 1, TabContainer.CurrentTab + 1);
}
}
private void ResolutionOptions_ItemSelected(long index)
{
var resolutionIndex = ResolutionOptions.GetSelectedId();
OptionsData.ScreenResolution = resolutionIndex;
DisplayServer.WindowSetMode(_windowModes[resolutionIndex]);
}
public void Load(OptionsData optionsData)
{
MasterVolumeSlider.Value = optionsData.MasterVolumeLevel;
MusicVolumeSlider.Value = optionsData.MusicVolumeLevel;
SFXVolumeSlider.Value = optionsData.SFXVolumeLevel;
ResolutionOptions.Select(optionsData.ScreenResolution);
SkipOpeningCSCheck.ButtonPressed = optionsData.SkipCutscene;
DisplayServer.WindowSetMode(_windowModes[optionsData.ScreenResolution]);
}
private void SaveAndExitMenu() => EmitSignal(SignalName.OptionsMenuExited);
private void MasterVolumeSlider_Changed(double valueChanged)
@@ -180,6 +258,27 @@ public partial class OptionsMenu : Control
OptionsData.SFXVolumeLevel = valueChanged;
AudioServer.SetBusVolumeDb(_sfxBusIndex, Mathf.LinearToDb((float)valueChanged));
}
private void Controller_FocusEntered()
{
Audio.Hide();
Controller.Show();
Game.Hide();
}
private void Game_FocusEntered()
{
Audio.Hide();
Controller.Hide();
Game.Show();
}
private void Audio_FocusEntered()
{
Audio.Show();
Controller.Hide();
Game.Hide();
}
}
public enum TabOption

View File

@@ -1,10 +1,25 @@
[gd_scene load_steps=11 format=3 uid="uid://drkl3btdy6uxj"]
[gd_scene load_steps=21 format=3 uid="uid://drkl3btdy6uxj"]
[ext_resource type="Script" uid="uid://cjxmdvhixcj6e" path="res://src/options/OptionsMenu.cs" id="1_jli36"]
[ext_resource type="Shortcut" uid="uid://dumkrjur22k2a" path="res://src/ui/ButtonShortcut.tres" id="2_1egkf"]
[ext_resource type="Texture2D" uid="uid://b8ftp11t0q58p" path="res://src/ui/rendered_assets/SCREEN_RENDERS_Options_720_16_9.png" id="2_1mx8s"]
[ext_resource type="FontFile" uid="uid://beh6d5lo5ihq0" path="res://src/ui/fonts/georgiai.ttf" id="2_n0yw3"]
[ext_resource type="LabelSettings" uid="uid://cuuo43x72xcsc" path="res://src/ui/label_settings/MainTextBold.tres" id="2_o7aaw"]
[ext_resource type="PackedScene" uid="uid://dk5esf6mm6kte" path="res://src/options/InputMapper.tscn" id="2_utd4g"]
[ext_resource type="FontFile" uid="uid://cm8j5vcdop5x0" path="res://src/ui/fonts/Mrs-Eaves-OT-Roman_31443.ttf" id="3_ohii5"]
[ext_resource type="FontFile" uid="uid://cke424xtk2s0o" path="res://src/ui/fonts/ebrima.ttf" id="2_ohii5"]
[ext_resource type="LabelSettings" uid="uid://b6f8ggy3ulonb" path="res://src/ui/label_settings/GeorgiaItalic.tres" id="5_1mx8s"]
[ext_resource type="Texture2D" uid="uid://u255bg4nytuf" path="res://src/ui/gallery/checkbox.png" id="5_wn77p"]
[ext_resource type="Texture2D" uid="uid://2fwkphkxib7p" path="res://src/ui/gallery/Unchecked.png" id="6_ko1q6"]
[ext_resource type="StyleBox" uid="uid://bxuy4tnftibfq" path="res://src/options/SelectedOptionsBox.tres" id="9_lx8gn"]
[ext_resource type="StyleBox" uid="uid://bl15q835s4ene" path="res://src/options/UnselectedOptionsBox.tres" id="10_qvpxc"]
[ext_resource type="Script" uid="uid://c6lw5yp8p0wb5" path="res://src/options/InputMapper.cs" id="12_776se"]
[ext_resource type="Script" uid="uid://b70br20xue678" path="res://src/options/KeyboardRemapButton.cs" id="13_rjjwr"]
[ext_resource type="Script" uid="uid://bo7vk56h1lr07" path="res://src/options/JoypadRemapButton.cs" id="14_wsiwg"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ko1q6"]
corner_radius_top_left = 50
corner_radius_top_right = 50
corner_radius_bottom_right = 50
corner_radius_bottom_left = 50
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ohii5"]
bg_color = Color(0.215902, 0.215902, 0.215902, 1)
@@ -26,78 +41,124 @@ anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 3
size_flags_vertical = 3
script = ExtResource("1_jli36")
[node name="CanvasLayer" type="CanvasLayer" parent="."]
unique_name_in_owner = true
visible = false
[node name="CenterContainer" type="AspectRatioContainer" parent="CanvasLayer"]
[node name="TextureRect" type="TextureRect" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 0
texture = ExtResource("2_1mx8s")
expand_mode = 1
[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/CenterContainer"]
layout_mode = 2
[node name="TabContainer" type="TabContainer" parent="CanvasLayer/CenterContainer/VBoxContainer"]
[node name="Game" type="VBoxContainer" parent="."]
unique_name_in_owner = true
custom_minimum_size = Vector2(1280, 960)
layout_mode = 2
mouse_filter = 0
current_tab = 0
tab_focus_mode = 0
[node name="Game" type="PanelContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer"]
visible = false
layout_mode = 2
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 487.0
offset_top = 270.0
offset_right = -161.0
offset_bottom = -97.0
size_flags_vertical = 3
focus_next = NodePath("../Audio")
focus_previous = NodePath(".")
metadata/_tab_index = 0
[node name="MarginContainer" type="MarginContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game"]
[node name="MarginContainer" type="MarginContainer" parent="Game"]
layout_mode = 2
theme_override_constants/margin_left = 100
theme_override_constants/margin_left = 50
theme_override_constants/margin_top = 100
theme_override_constants/margin_right = 0
theme_override_constants/margin_bottom = 0
[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/MarginContainer"]
[node name="VBoxContainer" type="VBoxContainer" parent="Game/MarginContainer"]
layout_mode = 2
theme_override_constants/separation = 20
[node name="HBoxContainer" type="HBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/MarginContainer/VBoxContainer"]
[node name="HBoxContainer" type="HBoxContainer" parent="Game/MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="SkipOpeningCSCheck" type="CheckBox" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/MarginContainer/VBoxContainer/HBoxContainer"]
[node name="SkipOpeningCSCheck" type="CheckBox" parent="Game/MarginContainer/VBoxContainer/HBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 35)
layout_mode = 2
focus_neighbor_left = NodePath("../../../../../VBoxContainer/GameTab")
focus_neighbor_top = NodePath(".")
focus_neighbor_right = NodePath(".")
focus_neighbor_bottom = NodePath("../../HBoxContainer2/DeleteSaveButton")
theme_override_constants/h_separation = 20
theme_override_fonts/font = ExtResource("2_n0yw3")
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = ExtResource("9_lx8gn")
theme_override_styles/disabled_mirrored = ExtResource("10_qvpxc")
theme_override_styles/disabled = ExtResource("10_qvpxc")
theme_override_styles/hover_pressed_mirrored = ExtResource("9_lx8gn")
theme_override_styles/hover_pressed = ExtResource("9_lx8gn")
theme_override_styles/hover_mirrored = ExtResource("9_lx8gn")
theme_override_styles/hover = ExtResource("9_lx8gn")
theme_override_styles/pressed_mirrored = ExtResource("10_qvpxc")
theme_override_styles/pressed = ExtResource("10_qvpxc")
theme_override_styles/normal_mirrored = ExtResource("10_qvpxc")
theme_override_styles/normal = ExtResource("10_qvpxc")
theme_override_icons/checked = ExtResource("5_wn77p")
theme_override_icons/unchecked = ExtResource("6_ko1q6")
button_mask = 0
text = "Skip opening cutscene"
[node name="HBoxContainer2" type="HBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/MarginContainer/VBoxContainer"]
[node name="HBoxContainer2" type="HBoxContainer" parent="Game/MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="DeleteSaveButton" type="Button" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/MarginContainer/VBoxContainer/HBoxContainer2"]
[node name="DeleteSaveButton" type="Button" parent="Game/MarginContainer/VBoxContainer/HBoxContainer2"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 35)
layout_mode = 2
focus_neighbor_left = NodePath("../../../../../VBoxContainer/GameTab")
focus_neighbor_top = NodePath("../../HBoxContainer/SkipOpeningCSCheck")
focus_neighbor_right = NodePath(".")
focus_neighbor_bottom = NodePath("../../Resolution/ResolutionOptions")
theme_override_colors/font_focus_color = Color(0.976471, 0.827451, 0, 1)
theme_override_fonts/font = ExtResource("2_n0yw3")
text = "Delete Save Data"
[node name="CenterContainer" type="CenterContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game"]
[node name="Resolution" type="HBoxContainer" parent="Game/MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="ConfirmDeletePopup" type="ColorRect" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/CenterContainer"]
[node name="ResolutionLabel" type="Label" parent="Game/MarginContainer/VBoxContainer/Resolution"]
custom_minimum_size = Vector2(125, 0)
layout_mode = 2
focus_neighbor_left = NodePath("../../../../../VBoxContainer/GameTab")
text = "Resolution: "
label_settings = ExtResource("5_1mx8s")
horizontal_alignment = 2
[node name="ResolutionOptions" type="OptionButton" parent="Game/MarginContainer/VBoxContainer/Resolution"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
focus_neighbor_left = NodePath("../../../../../VBoxContainer/GameTab")
focus_neighbor_top = NodePath("../../HBoxContainer2/DeleteSaveButton")
focus_neighbor_right = NodePath(".")
focus_neighbor_bottom = NodePath(".")
theme_override_fonts/font = ExtResource("2_n0yw3")
theme_override_styles/normal = SubResource("StyleBoxFlat_ko1q6")
shortcut = ExtResource("2_1egkf")
flat = true
alignment = 1
[node name="CenterContainer" type="CenterContainer" parent="Game"]
layout_mode = 2
[node name="ConfirmDeletePopup" type="ColorRect" parent="Game/CenterContainer"]
unique_name_in_owner = true
visible = false
custom_minimum_size = Vector2(750, 250)
layout_mode = 2
color = Color(0.137255, 0.121569, 0.12549, 1)
[node name="PanelContainer" type="PanelContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/CenterContainer/ConfirmDeletePopup"]
[node name="PanelContainer" type="PanelContainer" parent="Game/CenterContainer/ConfirmDeletePopup"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
@@ -105,14 +166,14 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Label" type="Label" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/CenterContainer/ConfirmDeletePopup/PanelContainer"]
[node name="Label" type="Label" parent="Game/CenterContainer/ConfirmDeletePopup/PanelContainer"]
layout_mode = 2
text = "Deleting save data will permanently reset progress.
Continue?"
label_settings = ExtResource("2_o7aaw")
horizontal_alignment = 1
[node name="MarginContainer" type="MarginContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/CenterContainer/ConfirmDeletePopup"]
[node name="MarginContainer" type="MarginContainer" parent="Game/CenterContainer/ConfirmDeletePopup"]
layout_mode = 1
anchors_preset = 3
anchor_left = 1.0
@@ -128,134 +189,629 @@ theme_override_constants/margin_top = 5
theme_override_constants/margin_right = 25
theme_override_constants/margin_bottom = 15
[node name="HBoxContainer" type="HBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/CenterContainer/ConfirmDeletePopup/MarginContainer"]
[node name="HBoxContainer" type="HBoxContainer" parent="Game/CenterContainer/ConfirmDeletePopup/MarginContainer"]
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
theme_override_constants/separation = 20
[node name="NoDeleteButton" type="Button" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/CenterContainer/ConfirmDeletePopup/MarginContainer/HBoxContainer"]
[node name="NoDeleteButton" type="Button" parent="Game/CenterContainer/ConfirmDeletePopup/MarginContainer/HBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(150, 35)
layout_mode = 2
theme_override_colors/font_focus_color = Color(0.976471, 0.827451, 0, 1)
theme_override_fonts/font = ExtResource("3_ohii5")
theme_override_fonts/font = ExtResource("2_ohii5")
theme_override_styles/normal = SubResource("StyleBoxFlat_ohii5")
text = "Cancel"
[node name="YesDeleteButton" type="Button" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/CenterContainer/ConfirmDeletePopup/MarginContainer/HBoxContainer"]
[node name="YesDeleteButton" type="Button" parent="Game/CenterContainer/ConfirmDeletePopup/MarginContainer/HBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(150, 35)
layout_mode = 2
theme_override_colors/font_focus_color = Color(0.976471, 0.827451, 0, 1)
theme_override_fonts/font = ExtResource("3_ohii5")
theme_override_fonts/font = ExtResource("2_ohii5")
theme_override_styles/normal = SubResource("StyleBoxFlat_o7aaw")
text = "Confirm"
[node name="Audio" type="MarginContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer"]
[node name="Audio" type="MarginContainer" parent="."]
unique_name_in_owner = true
visible = false
layout_mode = 2
focus_next = NodePath("../Controller")
focus_previous = NodePath("../Game")
theme_override_constants/margin_left = 100
theme_override_constants/margin_top = 100
offset_top = 49.0
offset_right = 1920.0
offset_bottom = 1129.0
size_flags_vertical = 3
theme_override_constants/margin_left = 550
theme_override_constants/margin_top = 300
theme_override_constants/margin_right = 100
theme_override_constants/margin_bottom = 100
metadata/_tab_index = 1
[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio"]
[node name="VBoxContainer" type="VBoxContainer" parent="Audio"]
layout_mode = 2
size_flags_horizontal = 0
mouse_filter = 0
theme_override_constants/separation = 20
[node name="MasterVolume" type="HBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio/VBoxContainer"]
[node name="SFXVolume" type="HBoxContainer" parent="Audio/VBoxContainer"]
layout_mode = 2
[node name="VolumeLabel" type="Label" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio/VBoxContainer/MasterVolume"]
custom_minimum_size = Vector2(125, 0)
[node name="SELabel" type="Button" parent="Audio/VBoxContainer/SFXVolume"]
unique_name_in_owner = true
layout_mode = 2
text = "Master Volume"
horizontal_alignment = 2
size_flags_stretch_ratio = 1.34
focus_neighbor_left = NodePath("../../../../VBoxContainer/AudioTab")
focus_neighbor_top = NodePath(".")
focus_neighbor_right = NodePath(".")
focus_neighbor_bottom = NodePath("../../MusicVolume/MusicLabel")
theme_override_styles/focus = ExtResource("9_lx8gn")
theme_override_styles/hover = ExtResource("10_qvpxc")
theme_override_styles/pressed = ExtResource("10_qvpxc")
theme_override_styles/normal = ExtResource("10_qvpxc")
text = "S.E Volume"
alignment = 2
[node name="MasterVolumeSlider" type="HSlider" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio/VBoxContainer/MasterVolume"]
[node name="ReferenceRect" type="ReferenceRect" parent="Audio/VBoxContainer/SFXVolume"]
custom_minimum_size = Vector2(33, 0)
layout_mode = 2
border_color = Color(1, 0, 0, 0)
[node name="SFXVolumeSlider" type="HSlider" parent="Audio/VBoxContainer/SFXVolume"]
unique_name_in_owner = true
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_vertical = 1
focus_neighbor_left = NodePath(".")
focus_neighbor_top = NodePath(".")
focus_neighbor_right = NodePath(".")
focus_neighbor_bottom = NodePath(".")
theme_override_styles/slider = SubResource("StyleBoxLine_jli36")
theme_override_styles/grabber_area = SubResource("StyleBoxFlat_utd4g")
theme_override_styles/grabber_area_highlight = SubResource("StyleBoxFlat_1egkf")
max_value = 1.0
step = 0.1
value = 1.0
scrollable = false
[node name="MusicVolume" type="HBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio/VBoxContainer"]
[node name="MusicVolume" type="HBoxContainer" parent="Audio/VBoxContainer"]
layout_mode = 2
[node name="VolumeLabel" type="Label" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio/VBoxContainer/MusicVolume"]
custom_minimum_size = Vector2(125, 0)
[node name="MusicLabel" type="Button" parent="Audio/VBoxContainer/MusicVolume"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 8
focus_neighbor_left = NodePath("../../../../VBoxContainer/AudioTab")
focus_neighbor_top = NodePath("../../SFXVolume/SELabel")
focus_neighbor_right = NodePath(".")
focus_neighbor_bottom = NodePath("../../MasterVolume/MasterLabel")
theme_override_styles/focus = ExtResource("9_lx8gn")
theme_override_styles/hover = ExtResource("10_qvpxc")
theme_override_styles/pressed = ExtResource("10_qvpxc")
theme_override_styles/normal = ExtResource("10_qvpxc")
text = "Music Volume"
horizontal_alignment = 2
[node name="MusicVolumeSlider" type="HSlider" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio/VBoxContainer/MusicVolume"]
[node name="ReferenceRect" type="ReferenceRect" parent="Audio/VBoxContainer/MusicVolume"]
custom_minimum_size = Vector2(10, 0)
layout_mode = 2
border_color = Color(1, 0, 0, 0)
[node name="MusicVolumeSlider" type="HSlider" parent="Audio/VBoxContainer/MusicVolume"]
unique_name_in_owner = true
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_vertical = 1
focus_neighbor_left = NodePath(".")
focus_neighbor_top = NodePath(".")
focus_neighbor_right = NodePath(".")
focus_neighbor_bottom = NodePath(".")
theme_override_styles/slider = SubResource("StyleBoxLine_jli36")
theme_override_styles/grabber_area = SubResource("StyleBoxFlat_utd4g")
theme_override_styles/grabber_area_highlight = SubResource("StyleBoxFlat_1egkf")
max_value = 1.0
step = 0.1
value = 1.0
scrollable = false
[node name="SFXVolume" type="HBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio/VBoxContainer"]
[node name="MasterVolume" type="HBoxContainer" parent="Audio/VBoxContainer"]
layout_mode = 2
[node name="VolumeLabel" type="Label" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio/VBoxContainer/SFXVolume"]
custom_minimum_size = Vector2(125, 0)
[node name="MasterLabel" type="Button" parent="Audio/VBoxContainer/MasterVolume"]
unique_name_in_owner = true
layout_mode = 2
text = "SFX Volume"
horizontal_alignment = 2
theme_override_styles/focus = ExtResource("9_lx8gn")
theme_override_styles/hover = ExtResource("10_qvpxc")
theme_override_styles/pressed = ExtResource("10_qvpxc")
theme_override_styles/normal = ExtResource("10_qvpxc")
text = "Master Volume"
[node name="SFXVolumeSlider" type="HSlider" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio/VBoxContainer/SFXVolume"]
[node name="ReferenceRect" type="ReferenceRect" parent="Audio/VBoxContainer/MasterVolume"]
custom_minimum_size = Vector2(1, 0)
layout_mode = 2
border_color = Color(1, 0, 0, 0)
[node name="MasterVolumeSlider" type="HSlider" parent="Audio/VBoxContainer/MasterVolume"]
unique_name_in_owner = true
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_vertical = 1
focus_neighbor_left = NodePath(".")
focus_neighbor_top = NodePath(".")
focus_neighbor_right = NodePath(".")
focus_neighbor_bottom = NodePath(".")
theme_override_styles/slider = SubResource("StyleBoxLine_jli36")
theme_override_styles/grabber_area = SubResource("StyleBoxFlat_utd4g")
theme_override_styles/grabber_area_highlight = SubResource("StyleBoxFlat_1egkf")
max_value = 1.0
step = 0.1
value = 1.0
scrollable = false
[node name="Resolution" type="HBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio/VBoxContainer"]
[node name="ModeSelect" type="HBoxContainer" parent="Audio/VBoxContainer"]
layout_mode = 2
[node name="ResolutionLabel" type="Label" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio/VBoxContainer/Resolution"]
custom_minimum_size = Vector2(125, 0)
layout_mode = 2
text = "Resolution: "
horizontal_alignment = 2
[node name="ResolutionOptions" type="OptionButton" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio/VBoxContainer/Resolution"]
unique_name_in_owner = true
[node name="ModeSelectLabel" type="Label" parent="Audio/VBoxContainer/ModeSelect"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Output Device: "
label_settings = ExtResource("5_1mx8s")
[node name="SoundDeviceOptions" type="OptionButton" parent="Audio/VBoxContainer/ModeSelect"]
unique_name_in_owner = true
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
focus_neighbor_left = NodePath("../../../../VBoxContainer/AudioTab")
focus_neighbor_top = NodePath("../../MasterVolume/MasterLabel")
focus_neighbor_right = NodePath(".")
focus_neighbor_bottom = NodePath(".")
theme_override_fonts/font = ExtResource("2_n0yw3")
shortcut = ExtResource("2_1egkf")
flat = true
[node name="HBoxContainer" type="HBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 10
[node name="Controller" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer" instance=ExtResource("2_utd4g")]
[node name="Controller" type="Control" parent="."]
unique_name_in_owner = true
visible = false
layout_mode = 2
focus_next = NodePath(".")
focus_previous = NodePath("../Audio")
metadata/_tab_index = 2
anchors_preset = 0
offset_left = 487.0
offset_top = 271.0
offset_right = 1760.0
offset_bottom = 983.0
focus_neighbor_left = NodePath("../VBoxContainer/ControllerTab")
script = ExtResource("12_776se")
[node name="MarginContainer" type="MarginContainer" parent="Controller"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 0
theme_override_constants/margin_left = 25
theme_override_constants/margin_top = 25
theme_override_constants/margin_right = 25
theme_override_constants/margin_bottom = 25
[node name="VBoxContainer" type="VBoxContainer" parent="Controller/MarginContainer"]
custom_minimum_size = Vector2(50, 50)
layout_mode = 2
theme_override_constants/separation = 20
alignment = 1
[node name="ScrollContainer" type="ScrollContainer" parent="Controller/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="ActionList" type="VBoxContainer" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
theme_override_constants/separation = 20
[node name="Header" type="HBoxContainer" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList"]
layout_mode = 2
[node name="Label" type="Label" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Header"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Actions"
label_settings = ExtResource("5_1mx8s")
horizontal_alignment = 2
[node name="Control" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Header"]
layout_mode = 2
size_flags_horizontal = 3
[node name="Label2" type="Label" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Header"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Keyboard"
label_settings = ExtResource("5_1mx8s")
horizontal_alignment = 1
[node name="Control2" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Header"]
layout_mode = 2
size_flags_horizontal = 3
[node name="Label3" type="Label" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Header"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Controller"
label_settings = ExtResource("5_1mx8s")
horizontal_alignment = 1
[node name="Move Forward" type="HBoxContainer" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList"]
layout_mode = 2
[node name="Label" type="Label" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Forward"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Move Forward"
label_settings = ExtResource("5_1mx8s")
horizontal_alignment = 2
[node name="Control" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Forward"]
layout_mode = 2
size_flags_horizontal = 3
[node name="MoveForwardKeyboard" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Forward"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 35)
layout_mode = 2
focus_neighbor_left = NodePath("../../../../../../../VBoxContainer/ControllerTab")
script = ExtResource("13_rjjwr")
[node name="Control2" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Forward"]
layout_mode = 2
size_flags_horizontal = 3
[node name="MoveForwardController" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Forward"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
script = ExtResource("14_wsiwg")
[node name="Move Left" type="HBoxContainer" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList"]
layout_mode = 2
[node name="Label" type="Label" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Left"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Move Left"
label_settings = ExtResource("5_1mx8s")
horizontal_alignment = 2
[node name="Control" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Left"]
layout_mode = 2
size_flags_horizontal = 3
[node name="MoveLeftKeyboard" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Left"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 35)
layout_mode = 2
focus_neighbor_left = NodePath("../../../../../../../VBoxContainer/ControllerTab")
script = ExtResource("13_rjjwr")
[node name="Control2" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Left"]
layout_mode = 2
size_flags_horizontal = 3
[node name="MoveLeftController" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Left"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
script = ExtResource("14_wsiwg")
[node name="Move Right" type="HBoxContainer" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList"]
layout_mode = 2
[node name="Label" type="Label" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Right"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Move Right"
label_settings = ExtResource("5_1mx8s")
horizontal_alignment = 2
[node name="Control" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Right"]
layout_mode = 2
size_flags_horizontal = 3
[node name="MoveRightKeyboard" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Right"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 35)
layout_mode = 2
focus_neighbor_left = NodePath("../../../../../../../VBoxContainer/ControllerTab")
script = ExtResource("13_rjjwr")
[node name="Control2" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Right"]
layout_mode = 2
size_flags_horizontal = 3
[node name="MoveRightController" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Right"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
script = ExtResource("14_wsiwg")
[node name="Move Backward" type="HBoxContainer" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList"]
layout_mode = 2
[node name="Label" type="Label" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Backward"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Move Backward"
label_settings = ExtResource("5_1mx8s")
horizontal_alignment = 2
[node name="Control" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Backward"]
layout_mode = 2
size_flags_horizontal = 3
[node name="MoveBackwardKeyboard" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Backward"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 35)
layout_mode = 2
focus_neighbor_left = NodePath("../../../../../../../VBoxContainer/ControllerTab")
script = ExtResource("13_rjjwr")
[node name="Control2" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Backward"]
layout_mode = 2
size_flags_horizontal = 3
[node name="MoveBackwardController" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Backward"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
script = ExtResource("14_wsiwg")
[node name="Strafe Left" type="HBoxContainer" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList"]
layout_mode = 2
[node name="Label" type="Label" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Strafe Left"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Strafe Left"
label_settings = ExtResource("5_1mx8s")
horizontal_alignment = 2
[node name="Control" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Strafe Left"]
layout_mode = 2
size_flags_horizontal = 3
[node name="StrafeLeftKeyboard" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Strafe Left"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 35)
layout_mode = 2
focus_neighbor_left = NodePath("../../../../../../../VBoxContainer/ControllerTab")
script = ExtResource("13_rjjwr")
[node name="Control2" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Strafe Left"]
layout_mode = 2
size_flags_horizontal = 3
[node name="StrafeLeftController" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Strafe Left"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
script = ExtResource("14_wsiwg")
[node name="Strafe Right" type="HBoxContainer" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList"]
layout_mode = 2
[node name="Label" type="Label" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Strafe Right"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Strafe Right"
label_settings = ExtResource("5_1mx8s")
horizontal_alignment = 2
[node name="Control" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Strafe Right"]
layout_mode = 2
size_flags_horizontal = 3
[node name="StrafeRightKeyboard" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Strafe Right"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 35)
layout_mode = 2
focus_neighbor_left = NodePath("../../../../../../../VBoxContainer/ControllerTab")
script = ExtResource("13_rjjwr")
[node name="Control2" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Strafe Right"]
layout_mode = 2
size_flags_horizontal = 3
[node name="StrafeRightController" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Strafe Right"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
script = ExtResource("14_wsiwg")
[node name="Attack" type="HBoxContainer" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList"]
layout_mode = 2
[node name="Label" type="Label" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Attack"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Attack"
label_settings = ExtResource("5_1mx8s")
horizontal_alignment = 2
[node name="Control" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Attack"]
layout_mode = 2
size_flags_horizontal = 3
[node name="AttackKeyboard" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Attack"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 35)
layout_mode = 2
focus_neighbor_left = NodePath("../../../../../../../VBoxContainer/ControllerTab")
script = ExtResource("13_rjjwr")
[node name="Control2" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Attack"]
layout_mode = 2
size_flags_horizontal = 3
[node name="AttackController" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Attack"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
script = ExtResource("14_wsiwg")
[node name="Interact" type="HBoxContainer" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList"]
layout_mode = 2
[node name="Label" type="Label" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Interact"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Interact"
label_settings = ExtResource("5_1mx8s")
horizontal_alignment = 2
[node name="Control" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Interact"]
layout_mode = 2
size_flags_horizontal = 3
[node name="InteractKeyboard" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Interact"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 35)
layout_mode = 2
focus_neighbor_left = NodePath("../../../../../../../VBoxContainer/ControllerTab")
script = ExtResource("13_rjjwr")
[node name="Control2" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Interact"]
layout_mode = 2
size_flags_horizontal = 3
[node name="InteractController" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Interact"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
script = ExtResource("14_wsiwg")
[node name="Open Inventory" type="HBoxContainer" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList"]
layout_mode = 2
[node name="Label" type="Label" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Open Inventory"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Open Inventory"
label_settings = ExtResource("5_1mx8s")
horizontal_alignment = 2
[node name="Control" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Open Inventory"]
layout_mode = 2
size_flags_horizontal = 3
[node name="InventoryKeyboard" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Open Inventory"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 35)
layout_mode = 2
focus_neighbor_left = NodePath("../../../../../../../VBoxContainer/ControllerTab")
script = ExtResource("13_rjjwr")
[node name="Control2" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Open Inventory"]
layout_mode = 2
size_flags_horizontal = 3
[node name="InventoryController" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Open Inventory"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
script = ExtResource("14_wsiwg")
[node name="Sort Inventory" type="HBoxContainer" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList"]
layout_mode = 2
[node name="Label" type="Label" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Sort Inventory"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Sort Inventory"
label_settings = ExtResource("5_1mx8s")
horizontal_alignment = 2
[node name="Control" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Sort Inventory"]
layout_mode = 2
size_flags_horizontal = 3
[node name="SortKeyboard" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Sort Inventory"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 35)
layout_mode = 2
focus_neighbor_left = NodePath("../../../../../../../VBoxContainer/ControllerTab")
script = ExtResource("13_rjjwr")
[node name="Control2" type="Control" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Sort Inventory"]
layout_mode = 2
size_flags_horizontal = 3
[node name="SortController" type="Button" parent="Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Sort Inventory"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
script = ExtResource("14_wsiwg")
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 0
offset_left = 164.0
offset_top = 327.0
offset_right = 414.0
offset_bottom = 560.0
theme_override_constants/separation = 40
[node name="GameTab" type="Button" parent="VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
focus_neighbor_left = NodePath(".")
focus_neighbor_top = NodePath(".")
focus_neighbor_right = NodePath("../../Game/MarginContainer/VBoxContainer/HBoxContainer/SkipOpeningCSCheck")
focus_neighbor_bottom = NodePath("../AudioTab")
theme_override_constants/outline_size = 3
theme_override_fonts/font = ExtResource("2_n0yw3")
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = ExtResource("9_lx8gn")
theme_override_styles/hover_pressed = ExtResource("10_qvpxc")
theme_override_styles/hover = ExtResource("10_qvpxc")
theme_override_styles/pressed = ExtResource("10_qvpxc")
theme_override_styles/normal = ExtResource("10_qvpxc")
text = "Game"
[node name="AudioTab" type="Button" parent="VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
focus_neighbor_left = NodePath(".")
focus_neighbor_top = NodePath("../GameTab")
focus_neighbor_right = NodePath("../../Audio/VBoxContainer/SFXVolume/SELabel")
theme_override_constants/outline_size = 3
theme_override_fonts/font = ExtResource("2_n0yw3")
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = ExtResource("9_lx8gn")
theme_override_styles/hover_pressed = ExtResource("10_qvpxc")
theme_override_styles/hover = ExtResource("10_qvpxc")
theme_override_styles/pressed = ExtResource("10_qvpxc")
theme_override_styles/normal = ExtResource("10_qvpxc")
text = "Audio"
flat = true
[node name="ControllerTab" type="Button" parent="VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
focus_neighbor_left = NodePath(".")
focus_neighbor_top = NodePath("../AudioTab")
focus_neighbor_right = NodePath("../../Controller/MarginContainer/VBoxContainer/ScrollContainer/ActionList/Move Forward/MoveForwardKeyboard")
focus_neighbor_bottom = NodePath(".")
theme_override_constants/outline_size = 3
theme_override_fonts/font = ExtResource("2_n0yw3")
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = ExtResource("9_lx8gn")
theme_override_styles/hover_pressed = ExtResource("10_qvpxc")
theme_override_styles/hover = ExtResource("10_qvpxc")
theme_override_styles/pressed = ExtResource("10_qvpxc")
theme_override_styles/normal = ExtResource("10_qvpxc")
text = "Controller"
flat = true

View File

@@ -0,0 +1,8 @@
[gd_resource type="StyleBoxTexture" load_steps=2 format=3 uid="uid://bxuy4tnftibfq"]
[ext_resource type="Texture2D" uid="uid://b7nxeq5qft3xa" path="res://src/ui/gallery/Line 1.png" id="1_hnfdc"]
[resource]
texture = ExtResource("1_hnfdc")
texture_margin_bottom = 2.0
draw_center = false

View File

@@ -0,0 +1,10 @@
[gd_resource type="StyleBoxTexture" load_steps=2 format=3 uid="uid://bl15q835s4ene"]
[ext_resource type="Texture2D" uid="uid://b7nxeq5qft3xa" path="res://src/ui/gallery/Line 1.png" id="1_vbwaw"]
[resource]
content_margin_top = 0.0
texture = ExtResource("1_vbwaw")
texture_margin_bottom = 2.0
modulate_color = Color(1, 1, 1, 0)
draw_center = false

View File

@@ -1,112 +0,0 @@
[gd_scene load_steps=12 format=3 uid="uid://crkf5upj8e8ip"]
[ext_resource type="Script" uid="uid://c3iswacrgya7e" path="res://src/ui/dialogue/DialogueBalloon.cs" id="1_36de5"]
[ext_resource type="PackedScene" uid="uid://ckvgyvclnwggo" path="res://addons/dialogue_manager/dialogue_label.tscn" id="2_a8ve6"]
[ext_resource type="FontFile" uid="uid://cb41qqmxqurj8" path="res://src/ui/fonts/FT88-Bold.ttf" id="2_fn8n4"]
[ext_resource type="Script" uid="uid://bq8fntgcwiosq" path="res://addons/dialogue_manager/dialogue_responses_menu.gd" id="3_72ixx"]
[ext_resource type="Script" uid="uid://by6wev1st2yuh" path="res://src/ui/dialogue/ResponseExample.cs" id="5_0xrfp"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_hrxr4"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_1f7pn"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_kknbg"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_osqma"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_sb66p"]
[sub_resource type="Theme" id="Theme_qq3yp"]
default_font = ExtResource("2_fn8n4")
default_font_size = 20
Button/styles/disabled = SubResource("StyleBoxEmpty_hrxr4")
Button/styles/focus = SubResource("StyleBoxEmpty_1f7pn")
Button/styles/hover = SubResource("StyleBoxEmpty_kknbg")
Button/styles/normal = SubResource("StyleBoxEmpty_osqma")
MarginContainer/constants/margin_bottom = 15
MarginContainer/constants/margin_left = 30
MarginContainer/constants/margin_right = 30
MarginContainer/constants/margin_top = 15
Panel/styles/panel = SubResource("StyleBoxEmpty_sb66p")
[node name="ExampleBalloon" type="CanvasLayer"]
layer = 100
script = ExtResource("1_36de5")
[node name="Balloon" type="Control" parent="."]
unique_name_in_owner = true
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = SubResource("Theme_qq3yp")
[node name="Panel" type="Panel" parent="Balloon"]
clip_children = 2
layout_mode = 1
anchors_preset = 12
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 21.0
offset_top = -183.0
offset_right = -19.0
offset_bottom = -19.0
grow_horizontal = 2
grow_vertical = 0
[node name="Dialogue" type="MarginContainer" parent="Balloon/Panel"]
layout_mode = 2
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="VBoxContainer" type="VBoxContainer" parent="Balloon/Panel/Dialogue"]
layout_mode = 2
[node name="CharacterLabel" type="RichTextLabel" parent="Balloon/Panel/Dialogue/VBoxContainer"]
unique_name_in_owner = true
modulate = Color(1, 1, 1, 0.501961)
layout_mode = 2
mouse_filter = 1
bbcode_enabled = true
text = "Character"
fit_content = true
scroll_active = false
[node name="DialogueLabel" parent="Balloon/Panel/Dialogue/VBoxContainer" instance=ExtResource("2_a8ve6")]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 3
text = "Dialogue..."
[node name="Responses" type="CenterContainer" parent="Balloon"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="ResponsesMenu" type="VBoxContainer" parent="Balloon/Responses" node_paths=PackedStringArray("response_template")]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 8
theme_override_constants/separation = 2
script = ExtResource("3_72ixx")
response_template = NodePath("ResponseExample")
[node name="ResponseExample" type="Button" parent="Balloon/Responses/ResponsesMenu"]
layout_mode = 2
text = "Response example"
script = ExtResource("5_0xrfp")
[node name="ResponseExample2" type="Button" parent="Balloon/Responses/ResponsesMenu"]
layout_mode = 2
text = "Response example"
[connection signal="gui_input" from="Balloon" to="." method="_on_balloon_gui_input"]
[connection signal="response_selected" from="Balloon/Responses/ResponsesMenu" to="." method="_on_responses_menu_response_selected"]

View File

@@ -3,9 +3,9 @@
[ext_resource type="Script" uid="uid://5b3w40kwakl3" path="res://addons/dialogue_manager/example_balloon/ExampleBalloon.cs" id="1_okfmu"]
[ext_resource type="FontFile" uid="uid://dit3vylt7hmmx" path="res://src/ui/fonts/FT88-Regular.ttf" id="2_c4c1f"]
[ext_resource type="PackedScene" uid="uid://ckvgyvclnwggo" path="res://addons/dialogue_manager/dialogue_label.tscn" id="2_jm6sr"]
[ext_resource type="FontFile" uid="uid://cb41qqmxqurj8" path="res://src/ui/fonts/FT88-Bold.ttf" id="3_bc8ok"]
[ext_resource type="FontFile" uid="uid://beh6d5lo5ihq0" path="res://src/ui/fonts/georgiai.ttf" id="3_g5mp8"]
[ext_resource type="Script" uid="uid://bb52rsfwhkxbn" path="res://addons/dialogue_manager/dialogue_responses_menu.gd" id="3_yiii3"]
[ext_resource type="FontFile" uid="uid://bohbd123672ea" path="res://src/ui/fonts/FT88-Italic.ttf" id="5_2dxvx"]
[ext_resource type="FontFile" uid="uid://0syyay37admf" path="res://src/ui/fonts/georgiab.ttf" id="5_kc8dw"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_spyqn"]
bg_color = Color(0, 0, 0, 0)
@@ -137,7 +137,7 @@ mouse_filter = 1
theme_override_colors/default_color = Color(0.737255, 0.705882, 0.690196, 1)
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
theme_override_constants/line_separation = 10
theme_override_fonts/normal_font = ExtResource("3_bc8ok")
theme_override_fonts/normal_font = ExtResource("3_g5mp8")
theme_override_styles/fill = SubResource("StyleBoxEmpty_8reha")
theme_override_styles/background = SubResource("StyleBoxEmpty_cb5sp")
theme_override_styles/focus = SubResource("StyleBoxEmpty_0trte")
@@ -155,9 +155,9 @@ size_flags_vertical = 3
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 0
theme_override_fonts/normal_font = ExtResource("2_c4c1f")
theme_override_fonts/italics_font = ExtResource("5_2dxvx")
theme_override_fonts/bold_font = ExtResource("3_bc8ok")
theme_override_fonts/normal_font = ExtResource("3_g5mp8")
theme_override_fonts/italics_font = ExtResource("3_g5mp8")
theme_override_fonts/bold_font = ExtResource("5_kc8dw")
theme_override_styles/fill = SubResource("StyleBoxEmpty_vtj1a")
theme_override_styles/background = SubResource("StyleBoxEmpty_c2c5i")
theme_override_styles/focus = SubResource("StyleBoxEmpty_wv0ko")
@@ -191,6 +191,7 @@ response_template = NodePath("ResponseExample")
layout_mode = 2
theme_override_colors/font_color = Color(0.737255, 0.705882, 0.690196, 1)
theme_override_colors/font_focus_color = Color(1, 0.94902, 0, 1)
theme_override_fonts/font = ExtResource("3_g5mp8")
button_mask = 0
text = "Response example"

View File

@@ -1,79 +0,0 @@
using Chickensoft.AutoInject;
using Chickensoft.GodotNodeInterfaces;
using Chickensoft.Introspection;
using Godot;
namespace Zennysoft.Game.Ma;
public interface IFloorClearMenu : IControl
{
event FloorClearMenu.GoToNextFloorEventHandler GoToNextFloor;
event FloorClearMenu.ExitEventHandler Exit;
event FloorClearMenu.TransitionCompletedEventHandler TransitionCompleted;
void FadeIn();
void FadeOut();
}
[Meta(typeof(IAutoNode))]
public partial class FloorClearMenu : Control, IFloorClearMenu
{
public override void _Notification(int what) => this.Notify(what);
[Node] public IAnimationPlayer AnimationPlayer { get; set; } = default!;
[Node] public Button ContinueButton { get; set; } = default!;
[Node] public Button ExitButton { get; set; } = default!;
public void FadeIn() => AnimationPlayer.Play("fade_in");
public void FadeOut() => AnimationPlayer.Play("fade_out");
[Signal]
public delegate void TransitionCompletedEventHandler();
[Signal]
public delegate void GoToNextFloorEventHandler();
[Signal]
public delegate void ExitEventHandler();
public void OnResolved()
{
AnimationPlayer.AnimationFinished += AnimationPlayer_AnimationFinished;
ContinueButton.Pressed += ContinueButton_Pressed;
ExitButton.Pressed += ExitButton_Pressed;
}
private void ExitButton_Pressed()
{
ContinueButton.Disabled = true;
ExitButton.Disabled = true;
FadeOut();
EmitSignal(SignalName.Exit);
}
private void ContinueButton_Pressed()
{
ContinueButton.Disabled = true;
ExitButton.Disabled = true;
EmitSignal(SignalName.GoToNextFloor);
}
private void AnimationPlayer_AnimationFinished(StringName animName)
{
if (animName == "fade_in")
{
ContinueButton.Disabled = false;
ExitButton.Disabled = false;
ContinueButton.CallDeferred(MethodName.GrabFocus);
}
if (animName == "fade_out")
{
CallDeferred(MethodName.ReleaseFocus);
EmitSignal(SignalName.TransitionCompleted);
}
}
}

View File

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

View File

@@ -1,139 +0,0 @@
[gd_scene load_steps=11 format=3 uid="uid://pu6gp8de3ck4"]
[ext_resource type="Script" uid="uid://yytomatekupe" path="res://src/ui/floor_clear/FloorClearMenu.cs" id="1_q65kq"]
[ext_resource type="FontFile" uid="uid://cm8j5vcdop5x0" path="res://src/ui/fonts/Mrs-Eaves-OT-Roman_31443.ttf" id="2_xk0dh"]
[sub_resource type="Animation" id="Animation_nc1gg"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("FloorClearMenu:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_p616x"]
resource_name = "fade_in"
length = 0.3
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("FloorClearMenu:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.3),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_dhyvw"]
resource_name = "fade_out"
length = 0.3
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("FloorClearMenu:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.3),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_opfbx"]
_data = {
&"RESET": SubResource("Animation_nc1gg"),
&"fade_in": SubResource("Animation_p616x"),
&"fade_out": SubResource("Animation_dhyvw")
}
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_phrcj"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_tmmmd"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_cyd1c"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_4bdva"]
[node name="FloorClearMenu" type="Control"]
process_mode = 3
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_q65kq")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
root_node = NodePath("../..")
libraries = {
&"": SubResource("AnimationLibrary_opfbx")
}
[node name="BG" type="ColorRect" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0.137255, 0.121569, 0.12549, 1)
[node name="CenterContainer" type="CenterContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer"]
layout_mode = 2
[node name="ContinueButton" type="Button" parent="CenterContainer/VBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 50)
layout_mode = 2
focus_neighbor_left = NodePath(".")
focus_neighbor_top = NodePath(".")
focus_neighbor_right = NodePath(".")
focus_neighbor_bottom = NodePath("../ExitButton")
theme_override_colors/font_color = Color(0.737255, 0.705882, 0.690196, 1)
theme_override_colors/font_focus_color = Color(1, 0.94902, 0, 1)
theme_override_fonts/font = ExtResource("2_xk0dh")
theme_override_font_sizes/font_size = 36
theme_override_styles/focus = SubResource("StyleBoxEmpty_phrcj")
theme_override_styles/normal = SubResource("StyleBoxEmpty_tmmmd")
button_mask = 0
text = "Continue"
flat = true
[node name="ExitButton" type="Button" parent="CenterContainer/VBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 50)
layout_mode = 2
focus_neighbor_left = NodePath(".")
focus_neighbor_top = NodePath("../ContinueButton")
focus_neighbor_right = NodePath(".")
focus_neighbor_bottom = NodePath(".")
theme_override_colors/font_color = Color(0.737255, 0.705882, 0.690196, 1)
theme_override_colors/font_focus_color = Color(1, 0.94902, 0, 1)
theme_override_fonts/font = ExtResource("2_xk0dh")
theme_override_font_sizes/font_size = 36
theme_override_styles/focus = SubResource("StyleBoxEmpty_cyd1c")
theme_override_styles/normal = SubResource("StyleBoxEmpty_4bdva")
button_mask = 0
text = "Exit Tower"
flat = true

View File

@@ -1,35 +0,0 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://q8uova06hnon"
path="res://.godot/imported/FT88-Serif.ttf-2107f72327313ffd9defb0a5e614fb14.fontdata"
[deps]
source_file="res://src/ui/fonts/FT88-Serif.ttf"
dest_files=["res://.godot/imported/FT88-Serif.ttf-2107f72327313ffd9defb0a5e614fb14.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -1,6 +1,7 @@
using Chickensoft.AutoInject;
using Chickensoft.Introspection;
using Godot;
using NathanHoad;
using Zennysoft.Game.Ma;
[Meta(typeof(IAutoNode))]
@@ -8,15 +9,56 @@ public partial class GalleryMenu : Control
{
public override void _Notification(int what) => this.Notify(what);
#region ItemLabels
[Node] public Label ItemLabel1 { get; set; }
[Node] public Label ItemLabel2 { get; set; }
[Node] public Label ItemLabel3 { get; set; }
[Node] public Label ItemLabel4 { get; set; }
[Node] public Label ItemLabel5 { get; set; }
[Node] public Label ItemLabel6 { get; set; }
[Node] public Label ItemLabel7 { get; set; }
[Node] public Label ItemLabel8 { get; set; }
[Node] public Label ItemLabel9 { get; set; }
[Node] public Label ItemLabel10 { get; set; }
#endregion
#region Buttons
[Node] public TextureButton ItemButton1 { get; set; }
[Node] public TextureButton ItemButton2 { get; set; }
[Node] public TextureButton ItemButton3 { get; set; }
[Node] public TextureButton ItemButton4 { get; set; }
[Node] public TextureButton ItemButton5 { get; set; }
[Node] public TextureButton ItemButton6 { get; set; }
[Node] public TextureButton ItemButton7 { get; set; }
[Node] public TextureButton ItemButton8 { get; set; }
[Node] public TextureButton ItemButton9 { get; set; }
[Node] public TextureButton ItemButton10 { get; set; }
#endregion
#region Thumbnails
[Node] public TextureRect ItemThumb1 { get; set; }
[Node] public TextureRect ItemThumb2 { get; set; }
[Node] public TextureRect ItemThumb3 { get; set; }
[Node] public TextureRect ItemThumb4 { get; set; }
[Node] public TextureRect ItemThumb5 { get; set; }
[Node] public TextureRect ItemThumb6 { get; set; }
[Node] public TextureRect ItemThumb7 { get; set; }
[Node] public TextureRect ItemThumb8 { get; set; }
[Node] public TextureRect ItemThumb9 { get; set; }
[Node] public TextureRect ItemThumb10 { get; set; }
#endregion
[Node] public TextureButton PreviousButton { get; set; }
[Node] public TextureButton NextButton { get; set; }
[Node] public TextureButton BackButton { get; set; }
public GalleryData GalleryData { get; set; }
[Signal] public delegate void GalleryExitedEventHandler();
public void OnReady()
{
GalleryData = new GalleryData() { PlaceholderImage1 = true };
BackButton.Pressed += BackButton_Pressed;
}
}
private void BackButton_Pressed() => EmitSignal(SignalName.GalleryExited);
}

View File

@@ -1,10 +1,18 @@
[gd_scene load_steps=5 format=3 uid="uid://cm6fo70yb2hip"]
[gd_scene load_steps=8 format=3 uid="uid://cm6fo70yb2hip"]
[ext_resource type="Script" uid="uid://cl0fi7kgimquk" path="res://src/ui/gallery/GalleryMenu.cs" id="1_lvvvw"]
[ext_resource type="LabelSettings" uid="uid://wc363u5t1yi2" path="res://src/ui/label_settings/HeadingFont.tres" id="1_qekcq"]
[ext_resource type="Texture2D" uid="uid://s3mtv6c2emph" path="res://src/ui/gallery/Gallery.png" id="2_lvvvw"]
[ext_resource type="FontFile" uid="uid://beh6d5lo5ihq0" path="res://src/ui/fonts/georgiai.ttf" id="3_lvvvw"]
[ext_resource type="Texture2D" uid="uid://b7nxeq5qft3xa" path="res://src/ui/gallery/Line 1.png" id="4_s04nx"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_5wknn"]
[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_5wknn"]
[sub_resource type="LabelSettings" id="LabelSettings_lvvvw"]
font = ExtResource("3_lvvvw")
font_size = 40
[node name="GalleryMenu" type="Control"]
layout_mode = 3
anchors_preset = 15
@@ -16,7 +24,17 @@ size_flags_horizontal = 3
size_flags_vertical = 3
script = ExtResource("1_lvvvw")
[node name="TextureRect" type="TextureRect" parent="."]
[node name="Control" type="Control" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="TextureRect" type="TextureRect" parent="Control"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
@@ -24,362 +42,356 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("2_lvvvw")
expand_mode = 5
metadata/_edit_use_anchors_ = true
[node name="MarginContainer" type="MarginContainer" parent="TextureRect"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
[node name="PanelContainer" type="PanelContainer" parent="Control"]
layout_mode = 0
offset_left = 141.0
offset_top = 212.0
offset_right = -103.0
offset_bottom = -130.0
grow_horizontal = 2
grow_vertical = 2
offset_top = 213.0
offset_right = 1816.0
offset_bottom = 951.0
theme_override_styles/panel = SubResource("StyleBoxEmpty_5wknn")
[node name="VBoxContainer" type="VBoxContainer" parent="TextureRect/MarginContainer"]
[node name="MarginContainer2" type="MarginContainer" parent="Control/PanelContainer"]
layout_mode = 2
theme_override_constants/separation = 10
[node name="MarginContainer" type="MarginContainer" parent="TextureRect/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 10
theme_override_constants/margin_top = 10
theme_override_constants/margin_right = 10
theme_override_constants/margin_bottom = 10
[node name="ReferenceRect" type="ReferenceRect" parent="TextureRect/MarginContainer/VBoxContainer/MarginContainer"]
[node name="ReferenceRect" type="ReferenceRect" parent="Control/PanelContainer/MarginContainer2"]
layout_mode = 2
border_color = Color(1, 1, 1, 0.737255)
border_width = 3.0
border_color = Color(1, 1, 1, 1)
border_width = 2.0
editor_only = false
[node name="MarginContainer2" type="MarginContainer" parent="TextureRect"]
layout_mode = 0
offset_left = 155.0
offset_top = 225.0
offset_right = 1814.0
offset_bottom = 943.0
[node name="VBoxContainer" type="VBoxContainer" parent="TextureRect/MarginContainer2"]
[node name="MarginContainer" type="MarginContainer" parent="Control/PanelContainer/MarginContainer2"]
layout_mode = 2
theme_override_constants/separation = 25
theme_override_constants/margin_left = 80
theme_override_constants/margin_top = 45
[node name="VFlowContainer" type="VFlowContainer" parent="TextureRect/MarginContainer2/VBoxContainer"]
[node name="VBoxContainer" type="VBoxContainer" parent="Control/PanelContainer/MarginContainer2/MarginContainer"]
layout_mode = 2
theme_override_constants/h_separation = 25
theme_override_constants/separation = 60
[node name="Item1Thumb" type="ColorRect" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer"]
[node name="HBoxContainer" type="HBoxContainer" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 35
[node name="VBoxContainer" type="VBoxContainer" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
[node name="ItemThumb1" type="TextureRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(300, 200)
custom_minimum_size = Vector2(270, 190)
layout_mode = 2
texture = SubResource("PlaceholderTexture2D_5wknn")
[node name="ReferenceRect" type="ReferenceRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer"]
custom_minimum_size = Vector2(0, 45)
layout_mode = 2
[node name="Item2Thumb" type="ColorRect" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(300, 200)
layout_mode = 2
[node name="Item3Thumb" type="ColorRect" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(300, 200)
layout_mode = 2
[node name="Item4Thumb" type="ColorRect" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(300, 200)
layout_mode = 2
[node name="Item5Thumb" type="ColorRect" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(300, 200)
layout_mode = 2
[node name="VFlowContainer3" type="VFlowContainer" parent="TextureRect/MarginContainer2/VBoxContainer"]
layout_mode = 2
theme_override_constants/h_separation = 25
[node name="CenterContainer" type="CenterContainer" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer3"]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_vertical = 3
[node name="Item1Label" type="Label" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer3/CenterContainer"]
[node name="ItemLabel1" type="Label" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "???"
label_settings = ExtResource("1_qekcq")
label_settings = SubResource("LabelSettings_lvvvw")
horizontal_alignment = 1
[node name="CenterContainer2" type="CenterContainer" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer3"]
custom_minimum_size = Vector2(300, 0)
[node name="ItemButton1" type="TextureButton" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 3
texture_focused = ExtResource("4_s04nx")
stretch_mode = 3
[node name="Item2Label" type="Label" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer3/CenterContainer2"]
[node name="VBoxContainer2" type="VBoxContainer" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
[node name="ItemThumb2" type="TextureRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer2"]
unique_name_in_owner = true
custom_minimum_size = Vector2(270, 190)
layout_mode = 2
texture = SubResource("PlaceholderTexture2D_5wknn")
[node name="ReferenceRect" type="ReferenceRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer2"]
custom_minimum_size = Vector2(0, 45)
layout_mode = 2
[node name="ItemLabel2" type="Label" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer2"]
unique_name_in_owner = true
layout_mode = 2
text = "???"
label_settings = ExtResource("1_qekcq")
label_settings = SubResource("LabelSettings_lvvvw")
horizontal_alignment = 1
[node name="CenterContainer3" type="CenterContainer" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer3"]
custom_minimum_size = Vector2(300, 0)
[node name="ItemButton2" type="TextureButton" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer2"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 3
texture_focused = ExtResource("4_s04nx")
stretch_mode = 3
[node name="Item3Label" type="Label" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer3/CenterContainer3"]
[node name="VBoxContainer3" type="VBoxContainer" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
[node name="ItemThumb3" type="TextureRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer3"]
unique_name_in_owner = true
custom_minimum_size = Vector2(270, 190)
layout_mode = 2
texture = SubResource("PlaceholderTexture2D_5wknn")
[node name="ReferenceRect" type="ReferenceRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer3"]
custom_minimum_size = Vector2(0, 45)
layout_mode = 2
[node name="ItemLabel3" type="Label" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer3"]
unique_name_in_owner = true
layout_mode = 2
text = "???"
label_settings = ExtResource("1_qekcq")
label_settings = SubResource("LabelSettings_lvvvw")
horizontal_alignment = 1
[node name="CenterContainer4" type="CenterContainer" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer3"]
custom_minimum_size = Vector2(300, 0)
[node name="ItemButton3" type="TextureButton" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer3"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 3
texture_focused = ExtResource("4_s04nx")
stretch_mode = 3
[node name="Item4Label" type="Label" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer3/CenterContainer4"]
[node name="VBoxContainer4" type="VBoxContainer" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
[node name="ItemThumb4" type="TextureRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer4"]
unique_name_in_owner = true
custom_minimum_size = Vector2(270, 190)
layout_mode = 2
texture = SubResource("PlaceholderTexture2D_5wknn")
[node name="ReferenceRect" type="ReferenceRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer4"]
custom_minimum_size = Vector2(0, 45)
layout_mode = 2
[node name="ItemLabel4" type="Label" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer4"]
unique_name_in_owner = true
layout_mode = 2
text = "???"
label_settings = ExtResource("1_qekcq")
label_settings = SubResource("LabelSettings_lvvvw")
horizontal_alignment = 1
[node name="CenterContainer5" type="CenterContainer" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer3"]
custom_minimum_size = Vector2(300, 0)
[node name="ItemButton4" type="TextureButton" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer4"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 3
texture_focused = ExtResource("4_s04nx")
stretch_mode = 3
[node name="Item4Label" type="Label" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer3/CenterContainer5"]
[node name="VBoxContainer5" type="VBoxContainer" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
[node name="ItemThumb5" type="TextureRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer5"]
unique_name_in_owner = true
custom_minimum_size = Vector2(270, 190)
layout_mode = 2
texture = SubResource("PlaceholderTexture2D_5wknn")
[node name="ReferenceRect" type="ReferenceRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer5"]
custom_minimum_size = Vector2(0, 45)
layout_mode = 2
[node name="ItemLabel5" type="Label" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer5"]
unique_name_in_owner = true
layout_mode = 2
text = "???"
label_settings = ExtResource("1_qekcq")
label_settings = SubResource("LabelSettings_lvvvw")
horizontal_alignment = 1
[node name="VFlowContainer2" type="VFlowContainer" parent="TextureRect/MarginContainer2/VBoxContainer"]
[node name="ItemButton5" type="TextureButton" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer5"]
unique_name_in_owner = true
layout_mode = 2
theme_override_constants/h_separation = 25
focus_neighbor_right = NodePath("../../../HBoxContainer2/VBoxContainer/ItemButton6")
focus_next = NodePath("../../../HBoxContainer2/VBoxContainer/ItemButton6")
texture_focused = ExtResource("4_s04nx")
stretch_mode = 3
[node name="Item1Thumb" type="ColorRect" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer2"]
custom_minimum_size = Vector2(300, 200)
[node name="HBoxContainer2" type="HBoxContainer" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 35
[node name="VBoxContainer" type="VBoxContainer" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2"]
layout_mode = 2
[node name="Item2Thumb" type="ColorRect" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer2"]
custom_minimum_size = Vector2(300, 200)
[node name="ItemThumb6" type="TextureRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(270, 190)
layout_mode = 2
texture = SubResource("PlaceholderTexture2D_5wknn")
[node name="ReferenceRect" type="ReferenceRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer"]
custom_minimum_size = Vector2(0, 45)
layout_mode = 2
[node name="Item3Thumb" type="ColorRect" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer2"]
custom_minimum_size = Vector2(300, 200)
layout_mode = 2
[node name="Item4Thumb" type="ColorRect" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer2"]
custom_minimum_size = Vector2(300, 200)
layout_mode = 2
[node name="Item5Thumb" type="ColorRect" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer2"]
custom_minimum_size = Vector2(300, 200)
layout_mode = 2
[node name="VFlowContainer4" type="VFlowContainer" parent="TextureRect/MarginContainer2/VBoxContainer"]
layout_mode = 2
theme_override_constants/h_separation = 25
[node name="CenterContainer" type="CenterContainer" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer4"]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_vertical = 3
[node name="Item1Label" type="Label" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer4/CenterContainer"]
[node name="ItemLabel6" type="Label" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "???"
label_settings = ExtResource("1_qekcq")
label_settings = SubResource("LabelSettings_lvvvw")
horizontal_alignment = 1
[node name="CenterContainer2" type="CenterContainer" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer4"]
custom_minimum_size = Vector2(300, 0)
[node name="ItemButton6" type="TextureButton" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 3
focus_neighbor_left = NodePath("../../../HBoxContainer/VBoxContainer5/ItemButton5")
focus_neighbor_bottom = NodePath("../../../../../../../NavigateButtonGroup/PreviousButton")
focus_previous = NodePath("../../../HBoxContainer/VBoxContainer5/ItemButton5")
texture_focused = ExtResource("4_s04nx")
stretch_mode = 3
[node name="Item2Label" type="Label" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer4/CenterContainer2"]
[node name="VBoxContainer2" type="VBoxContainer" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2"]
layout_mode = 2
[node name="ItemThumb7" type="TextureRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer2"]
unique_name_in_owner = true
custom_minimum_size = Vector2(270, 190)
layout_mode = 2
texture = SubResource("PlaceholderTexture2D_5wknn")
[node name="ReferenceRect" type="ReferenceRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer2"]
custom_minimum_size = Vector2(0, 45)
layout_mode = 2
[node name="ItemLabel7" type="Label" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer2"]
unique_name_in_owner = true
layout_mode = 2
text = "???"
label_settings = ExtResource("1_qekcq")
label_settings = SubResource("LabelSettings_lvvvw")
horizontal_alignment = 1
[node name="CenterContainer3" type="CenterContainer" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer4"]
custom_minimum_size = Vector2(300, 0)
[node name="ItemButton7" type="TextureButton" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer2"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 3
focus_neighbor_bottom = NodePath("../../../../../../../NavigateButtonGroup/PreviousButton")
texture_focused = ExtResource("4_s04nx")
stretch_mode = 3
[node name="Item3Label" type="Label" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer4/CenterContainer3"]
[node name="VBoxContainer3" type="VBoxContainer" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2"]
layout_mode = 2
[node name="ItemThumb8" type="TextureRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer3"]
unique_name_in_owner = true
custom_minimum_size = Vector2(270, 190)
layout_mode = 2
texture = SubResource("PlaceholderTexture2D_5wknn")
[node name="ReferenceRect" type="ReferenceRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer3"]
custom_minimum_size = Vector2(0, 45)
layout_mode = 2
[node name="ItemLabel8" type="Label" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer3"]
unique_name_in_owner = true
layout_mode = 2
text = "???"
label_settings = ExtResource("1_qekcq")
label_settings = SubResource("LabelSettings_lvvvw")
horizontal_alignment = 1
[node name="CenterContainer4" type="CenterContainer" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer4"]
custom_minimum_size = Vector2(300, 0)
[node name="ItemButton8" type="TextureButton" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer3"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 3
focus_neighbor_bottom = NodePath("../../../../../../../NavigateButtonGroup/PreviousButton")
texture_focused = ExtResource("4_s04nx")
stretch_mode = 3
[node name="Item4Label" type="Label" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer4/CenterContainer4"]
[node name="VBoxContainer4" type="VBoxContainer" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2"]
layout_mode = 2
[node name="ItemThumb9" type="TextureRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer4"]
unique_name_in_owner = true
custom_minimum_size = Vector2(270, 190)
layout_mode = 2
texture = SubResource("PlaceholderTexture2D_5wknn")
[node name="ReferenceRect" type="ReferenceRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer4"]
custom_minimum_size = Vector2(0, 45)
layout_mode = 2
[node name="ItemLabel9" type="Label" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer4"]
unique_name_in_owner = true
layout_mode = 2
text = "???"
label_settings = ExtResource("1_qekcq")
label_settings = SubResource("LabelSettings_lvvvw")
horizontal_alignment = 1
[node name="CenterContainer5" type="CenterContainer" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer4"]
custom_minimum_size = Vector2(300, 0)
[node name="ItemButton9" type="TextureButton" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer4"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 3
focus_neighbor_bottom = NodePath("../../../../../../../NavigateButtonGroup/NextButton")
texture_focused = ExtResource("4_s04nx")
stretch_mode = 3
[node name="Item4Label" type="Label" parent="TextureRect/MarginContainer2/VBoxContainer/VFlowContainer4/CenterContainer5"]
[node name="VBoxContainer5" type="VBoxContainer" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2"]
layout_mode = 2
[node name="ItemThumb10" type="TextureRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer5"]
unique_name_in_owner = true
custom_minimum_size = Vector2(270, 190)
layout_mode = 2
texture = SubResource("PlaceholderTexture2D_5wknn")
[node name="ReferenceRect" type="ReferenceRect" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer5"]
custom_minimum_size = Vector2(0, 45)
layout_mode = 2
[node name="ItemLabel10" type="Label" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer5"]
unique_name_in_owner = true
layout_mode = 2
text = "???"
label_settings = ExtResource("1_qekcq")
label_settings = SubResource("LabelSettings_lvvvw")
horizontal_alignment = 1
[node name="ItemButton1" type="TextureButton" parent="."]
[node name="ItemButton10" type="TextureButton" parent="Control/PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer5"]
unique_name_in_owner = true
visible = false
layout_mode = 0
offset_left = 1621.0
offset_top = 1030.0
offset_right = 1730.0
offset_bottom = 1034.0
layout_mode = 2
focus_neighbor_right = NodePath("../../../../../../../NavigateButtonGroup/PreviousButton")
focus_neighbor_bottom = NodePath("../../../../../../../NavigateButtonGroup/BackButton")
texture_focused = ExtResource("4_s04nx")
stretch_mode = 0
flip_h = true
stretch_mode = 3
[node name="ItemButton2" type="TextureButton" parent="."]
unique_name_in_owner = true
visible = false
layout_mode = 0
offset_left = 1621.0
offset_top = 1030.0
offset_right = 1730.0
offset_bottom = 1034.0
texture_focused = ExtResource("4_s04nx")
stretch_mode = 0
flip_h = true
[node name="NavigateButtonGroup" type="Control" parent="Control"]
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="ItemButton3" type="TextureButton" parent="."]
unique_name_in_owner = true
visible = false
layout_mode = 0
offset_left = 1621.0
offset_top = 1030.0
offset_right = 1730.0
offset_bottom = 1034.0
texture_focused = ExtResource("4_s04nx")
stretch_mode = 0
flip_h = true
[node name="ItemButton4" type="TextureButton" parent="."]
unique_name_in_owner = true
visible = false
layout_mode = 0
offset_left = 1621.0
offset_top = 1030.0
offset_right = 1730.0
offset_bottom = 1034.0
texture_focused = ExtResource("4_s04nx")
stretch_mode = 0
flip_h = true
[node name="ItemButton5" type="TextureButton" parent="."]
unique_name_in_owner = true
visible = false
layout_mode = 0
offset_left = 1621.0
offset_top = 1030.0
offset_right = 1730.0
offset_bottom = 1034.0
texture_focused = ExtResource("4_s04nx")
stretch_mode = 0
flip_h = true
[node name="ItemButton6" type="TextureButton" parent="."]
unique_name_in_owner = true
visible = false
layout_mode = 0
offset_left = 1621.0
offset_top = 1030.0
offset_right = 1730.0
offset_bottom = 1034.0
texture_focused = ExtResource("4_s04nx")
stretch_mode = 0
flip_h = true
[node name="ItemButton7" type="TextureButton" parent="."]
unique_name_in_owner = true
visible = false
layout_mode = 0
offset_left = 1621.0
offset_top = 1030.0
offset_right = 1730.0
offset_bottom = 1034.0
texture_focused = ExtResource("4_s04nx")
stretch_mode = 0
flip_h = true
[node name="ItemButton8" type="TextureButton" parent="."]
unique_name_in_owner = true
visible = false
layout_mode = 0
offset_left = 1621.0
offset_top = 1030.0
offset_right = 1730.0
offset_bottom = 1034.0
texture_focused = ExtResource("4_s04nx")
stretch_mode = 0
flip_h = true
[node name="ItemButton9" type="TextureButton" parent="."]
unique_name_in_owner = true
visible = false
layout_mode = 0
offset_left = 1621.0
offset_top = 1030.0
offset_right = 1730.0
offset_bottom = 1034.0
texture_focused = ExtResource("4_s04nx")
stretch_mode = 0
flip_h = true
[node name="ItemButton10" type="TextureButton" parent="."]
unique_name_in_owner = true
visible = false
layout_mode = 0
offset_left = 1621.0
offset_top = 1030.0
offset_right = 1730.0
offset_bottom = 1034.0
texture_focused = ExtResource("4_s04nx")
stretch_mode = 0
flip_h = true
[node name="PreviousButton" type="TextureButton" parent="."]
[node name="PreviousButton" type="TextureButton" parent="Control/NavigateButtonGroup"]
unique_name_in_owner = true
layout_mode = 0
offset_left = 974.0
offset_top = 1030.0
offset_right = 1157.0
offset_bottom = 1034.0
offset_left = 997.0
offset_top = 1032.0
offset_right = 1147.0
offset_bottom = 1042.0
focus_neighbor_left = NodePath("../../PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer5/ItemButton10")
focus_neighbor_top = NodePath("../../PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer3/ItemButton8")
focus_neighbor_right = NodePath("../NextButton")
texture_focused = ExtResource("4_s04nx")
stretch_mode = 0
flip_h = true
stretch_mode = 5
[node name="NextButton" type="TextureButton" parent="."]
[node name="NextButton" type="TextureButton" parent="Control/NavigateButtonGroup"]
unique_name_in_owner = true
layout_mode = 0
offset_left = 1320.0
offset_top = 1030.0
offset_right = 1417.0
offset_bottom = 1034.0
offset_left = 1313.0
offset_top = 1031.0
offset_right = 1428.0
offset_bottom = 1041.0
focus_neighbor_left = NodePath("../PreviousButton")
focus_neighbor_top = NodePath("../../PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer4/ItemButton9")
focus_neighbor_right = NodePath("../BackButton")
texture_focused = ExtResource("4_s04nx")
stretch_mode = 0
flip_h = true
stretch_mode = 3
[node name="BackButton" type="TextureButton" parent="."]
[node name="BackButton" type="TextureButton" parent="Control/NavigateButtonGroup"]
unique_name_in_owner = true
layout_mode = 0
offset_left = 257.0
offset_top = 589.0
offset_right = 366.0
offset_bottom = 593.0
offset_left = 1598.0
offset_top = 1032.0
offset_right = 1748.0
offset_bottom = 1042.0
focus_neighbor_left = NodePath("../NextButton")
focus_neighbor_top = NodePath("../../PanelContainer/MarginContainer2/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer5/ItemButton10")
texture_focused = ExtResource("4_s04nx")
stretch_mode = 0
flip_h = true
stretch_mode = 3

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 B

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://2fwkphkxib7p"
path="res://.godot/imported/Unchecked.png-199ec2e2a944dfd73704b35cd082d190.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/ui/gallery/Unchecked.png"
dest_files=["res://.godot/imported/Unchecked.png-199ec2e2a944dfd73704b35cd082d190.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 769 B

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://u255bg4nytuf"
path="res://.godot/imported/checkbox.png-0ae2d72807b55759114938113b786432.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/ui/gallery/checkbox.png"
dest_files=["res://.godot/imported/checkbox.png-0ae2d72807b55759114938113b786432.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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=0

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=10 format=3 uid="uid://b1muxus5qdbeu"]
[gd_scene load_steps=11 format=3 uid="uid://b1muxus5qdbeu"]
[ext_resource type="Script" uid="uid://dlq2mkhl4pe7a" path="res://src/ui/in_game_ui/InGameUI.cs" id="1_sc13i"]
[ext_resource type="PackedScene" uid="uid://bwbofurcvf3yh" path="res://src/minimap/Minimap.tscn" id="2_6sfje"]
@@ -10,6 +10,9 @@
[ext_resource type="PackedScene" uid="uid://8f3dk16nj0dn" path="res://src/menu/DebugMenu.tscn" id="7_llomk"]
[ext_resource type="Texture2D" uid="uid://bj4p4qxb1mj3q" path="res://src/ui/player_ui/Assets/panel rough draft.png" id="7_ur8ag"]
[sub_resource type="StyleBoxLine" id="StyleBoxLine_ur8ag"]
color = Color(0.792157, 0.698039, 0.643137, 1)
[node name="InGameUI" type="Control"]
process_mode = 3
layout_mode = 3
@@ -87,29 +90,37 @@ custom_minimum_size = Vector2(480, 0)
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="HBoxContainer/Panel"]
layout_mode = 0
offset_right = 480.0
offset_bottom = 1082.0
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_bottom = 2.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("7_ur8ag")
[node name="PlayerInfoUI" parent="HBoxContainer/Panel" instance=ExtResource("4_46s5l")]
unique_name_in_owner = true
layout_mode = 2
anchors_preset = 0
anchor_right = 0.0
anchor_bottom = 0.0
offset_left = 25.0
offset_top = 175.0
offset_right = 480.0
offset_bottom = 361.0
size_flags_vertical = 3
offset_left = 29.0
offset_top = 197.0
offset_right = 29.0
offset_bottom = -746.0
[node name="HSeparator" type="HSeparator" parent="HBoxContainer/Panel"]
layout_mode = 2
offset_left = 99.0
offset_top = 326.0
offset_right = 391.0
offset_bottom = 332.0
theme_override_styles/separator = SubResource("StyleBoxLine_ur8ag")
[node name="MinimapZone" type="Panel" parent="HBoxContainer/Panel"]
layout_mode = 2
offset_left = 54.0
offset_top = 369.0
offset_right = 424.0
offset_bottom = 637.0
offset_top = 14.0
offset_right = 480.0
offset_bottom = 14.0
[node name="MiniMap" parent="HBoxContainer/Panel/MinimapZone" instance=ExtResource("2_6sfje")]
unique_name_in_owner = true
@@ -120,14 +131,23 @@ anchor_left = 0.0
anchor_top = 0.0
anchor_right = 0.0
anchor_bottom = 0.0
offset_left = 3.0
offset_left = 56.0
offset_top = 354.0
offset_right = 423.0
offset_bottom = 620.0
[node name="HSeparator2" type="HSeparator" parent="HBoxContainer/Panel/MinimapZone"]
layout_mode = 2
offset_left = 78.0
offset_top = 716.0
offset_right = 370.0
offset_bottom = 266.0
offset_bottom = 722.0
theme_override_styles/separator = SubResource("StyleBoxLine_ur8ag")
[node name="Sigil Marker" type="ReferenceRect" parent="HBoxContainer/Panel"]
layout_mode = 2
offset_left = 78.0
offset_top = 817.0
offset_right = 268.0
offset_bottom = 1009.0
offset_left = 75.0
offset_top = 813.0
offset_right = 267.0
offset_bottom = 1004.0
size_flags_vertical = 3

View File

@@ -1,14 +1,13 @@
[gd_scene load_steps=27 format=3 uid="uid://dlj8qdg1c5048"]
[gd_scene load_steps=21 format=3 uid="uid://dlj8qdg1c5048"]
[ext_resource type="Script" uid="uid://bi1xopts68paw" path="res://src/ui/inventory_menu/InventoryMenu.cs" id="1_b6rkr"]
[ext_resource type="Shader" uid="uid://cnphwvmr05hp1" path="res://src/ui/inventory_menu/InventoryMenu.gdshader" id="2_0fvsh"]
[ext_resource type="FontFile" uid="uid://cm8j5vcdop5x0" path="res://src/ui/fonts/Mrs-Eaves-OT-Roman_31443.ttf" id="3_lm4o1"]
[ext_resource type="PackedScene" uid="uid://c005nd0m2eim" path="res://src/ui/inventory_menu/ItemSlot.tscn" id="4_aiji3"]
[ext_resource type="FontFile" uid="uid://cb41qqmxqurj8" path="res://src/ui/fonts/FT88-Bold.ttf" id="4_rg5yb"]
[ext_resource type="FontFile" uid="uid://dit3vylt7hmmx" path="res://src/ui/fonts/FT88-Regular.ttf" id="5_2qnnx"]
[ext_resource type="LabelSettings" uid="uid://ca1q6yu8blwxf" path="res://src/ui/label_settings/InventoryMainTextBold.tres" id="6_tmdno"]
[ext_resource type="LabelSettings" uid="uid://wc363u5t1yi2" path="res://src/ui/label_settings/HeadingFont.tres" id="4_l0byb"]
[ext_resource type="LabelSettings" uid="uid://cuuo43x72xcsc" path="res://src/ui/label_settings/MainTextBold.tres" id="7_vyrxm"]
[ext_resource type="FontFile" uid="uid://cplk3hcd0bjrd" path="res://src/ui/fonts/ebrimabd.ttf" id="8_7co7g"]
[ext_resource type="Theme" uid="uid://daxuhpmyxwxck" path="res://src/ui/inventory_menu/InventoryDialogueSelectionStyle.tres" id="8_khyvo"]
[ext_resource type="LabelSettings" uid="uid://bgnwcs434ppkf" path="res://src/ui/label_settings/EbrimaText.tres" id="8_ldqki"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_i55tv"]
shader = ExtResource("2_0fvsh")
@@ -27,31 +26,6 @@ shader_parameter/speed3 = 0.1
[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_3ynpe"]
[sub_resource type="LabelSettings" id="LabelSettings_x4aj3"]
font = ExtResource("3_lm4o1")
font_size = 80
font_color = Color(0.737255, 0.705882, 0.690196, 1)
[sub_resource type="LabelSettings" id="LabelSettings_31kc7"]
font = ExtResource("3_lm4o1")
font_size = 80
font_color = Color(0.737255, 0.705882, 0.690196, 1)
[sub_resource type="LabelSettings" id="LabelSettings_ankkq"]
font = ExtResource("4_rg5yb")
font_size = 46
font_color = Color(0.737255, 0.705882, 0.690196, 1)
[sub_resource type="LabelSettings" id="LabelSettings_ouwww"]
font = ExtResource("4_rg5yb")
font_size = 40
font_color = Color(0.737255, 0.705882, 0.690196, 1)
[sub_resource type="LabelSettings" id="LabelSettings_mundu"]
font = ExtResource("5_2qnnx")
font_size = 20
font_color = Color(0.737255, 0.705882, 0.690196, 1)
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_0kb6l"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_fu7o2"]
@@ -115,34 +89,33 @@ custom_minimum_size = Vector2(300, 125)
layout_mode = 2
size_flags_horizontal = 4
[node name="BackArrow" type="Label" parent="InventoryInfo/HBoxContainer/ItemInfo/ItemTitleContainer"]
[node name="HBoxContainer" type="HBoxContainer" parent="InventoryInfo/HBoxContainer/ItemInfo/ItemTitleContainer"]
layout_mode = 2
[node name="BackArrow" type="Label" parent="InventoryInfo/HBoxContainer/ItemInfo/ItemTitleContainer/HBoxContainer"]
unique_name_in_owner = true
visible = false
custom_minimum_size = Vector2(100, 0)
layout_mode = 2
text = "◄"
label_settings = SubResource("LabelSettings_x4aj3")
label_settings = ExtResource("8_ldqki")
[node name="ItemsTitle" type="Label" parent="InventoryInfo/HBoxContainer/ItemInfo/ItemTitleContainer"]
custom_minimum_size = Vector2(450, 0)
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
text = " ITEMS"
label_settings = SubResource("LabelSettings_31kc7")
horizontal_alignment = 1
vertical_alignment = 1
[node name="ForwardArrow" type="Label" parent="InventoryInfo/HBoxContainer/ItemInfo/ItemTitleContainer"]
unique_name_in_owner = true
visible = false
[node name="ItemsTitle" type="Label" parent="InventoryInfo/HBoxContainer/ItemInfo/ItemTitleContainer/HBoxContainer"]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
text = " ITEMS"
label_settings = ExtResource("4_l0byb")
vertical_alignment = 1
[node name="ForwardArrow" type="Label" parent="InventoryInfo/HBoxContainer/ItemInfo/ItemTitleContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
text = "►"
label_settings = SubResource("LabelSettings_x4aj3")
horizontal_alignment = 2
label_settings = ExtResource("8_ldqki")
horizontal_alignment = 1
vertical_alignment = 1
[node name="ItemsPage" type="VBoxContainer" parent="InventoryInfo/HBoxContainer/ItemInfo"]
unique_name_in_owner = true
@@ -209,41 +182,6 @@ layout_mode = 2
mouse_filter = 2
theme_override_constants/separation = 20
[node name="VTBox" type="HBoxContainer" parent="InventoryInfo/HBoxContainer/PlayerInfo"]
visible = false
layout_mode = 2
[node name="ReferenceRect2" type="ReferenceRect" parent="InventoryInfo/HBoxContainer/PlayerInfo/VTBox"]
custom_minimum_size = Vector2(50, 0)
layout_mode = 2
[node name="VTLabel" type="Label" parent="InventoryInfo/HBoxContainer/PlayerInfo/VTBox"]
custom_minimum_size = Vector2(100, 0)
layout_mode = 2
text = "VT"
label_settings = SubResource("LabelSettings_ankkq")
[node name="ReferenceRect" type="ReferenceRect" parent="InventoryInfo/HBoxContainer/PlayerInfo/VTBox"]
custom_minimum_size = Vector2(50, 0)
layout_mode = 2
[node name="VTValue" type="Label" parent="InventoryInfo/HBoxContainer/PlayerInfo/VTBox"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "444/444"
label_settings = SubResource("LabelSettings_ouwww")
[node name="ReferenceRect4" type="ReferenceRect" parent="InventoryInfo/HBoxContainer/PlayerInfo/VTBox"]
custom_minimum_size = Vector2(18, 0)
layout_mode = 2
[node name="VTBonusLabel" type="Label" parent="InventoryInfo/HBoxContainer/PlayerInfo/VTBox"]
unique_name_in_owner = true
layout_mode = 2
text = "..."
label_settings = ExtResource("6_tmdno")
[node name="ATKBox" type="HBoxContainer" parent="InventoryInfo/HBoxContainer/PlayerInfo"]
layout_mode = 2
@@ -255,7 +193,7 @@ layout_mode = 2
custom_minimum_size = Vector2(100, 0)
layout_mode = 2
text = "ATK"
label_settings = SubResource("LabelSettings_ankkq")
label_settings = ExtResource("8_ldqki")
[node name="ReferenceRect" type="ReferenceRect" parent="InventoryInfo/HBoxContainer/PlayerInfo/ATKBox"]
custom_minimum_size = Vector2(50, 0)
@@ -266,7 +204,7 @@ unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "666/666"
label_settings = SubResource("LabelSettings_ouwww")
label_settings = ExtResource("8_ldqki")
[node name="ReferenceRect4" type="ReferenceRect" parent="InventoryInfo/HBoxContainer/PlayerInfo/ATKBox"]
custom_minimum_size = Vector2(18, 0)
@@ -276,7 +214,7 @@ layout_mode = 2
unique_name_in_owner = true
layout_mode = 2
text = "..."
label_settings = ExtResource("6_tmdno")
label_settings = ExtResource("8_ldqki")
[node name="DEFBox" type="HBoxContainer" parent="InventoryInfo/HBoxContainer/PlayerInfo"]
layout_mode = 2
@@ -289,7 +227,7 @@ layout_mode = 2
custom_minimum_size = Vector2(100, 0)
layout_mode = 2
text = "DEF"
label_settings = SubResource("LabelSettings_ankkq")
label_settings = ExtResource("8_ldqki")
[node name="ReferenceRect" type="ReferenceRect" parent="InventoryInfo/HBoxContainer/PlayerInfo/DEFBox"]
custom_minimum_size = Vector2(50, 0)
@@ -300,7 +238,7 @@ unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "888/888"
label_settings = SubResource("LabelSettings_ouwww")
label_settings = ExtResource("8_ldqki")
[node name="ReferenceRect4" type="ReferenceRect" parent="InventoryInfo/HBoxContainer/PlayerInfo/DEFBox"]
custom_minimum_size = Vector2(18, 0)
@@ -310,10 +248,10 @@ layout_mode = 2
unique_name_in_owner = true
layout_mode = 2
text = "..."
label_settings = ExtResource("6_tmdno")
label_settings = ExtResource("8_ldqki")
[node name="ReferenceRect3" type="ReferenceRect" parent="InventoryInfo/HBoxContainer/PlayerInfo"]
custom_minimum_size = Vector2(0, 600)
custom_minimum_size = Vector2(0, 500)
layout_mode = 2
[node name="HBoxContainer" type="HBoxContainer" parent="InventoryInfo/HBoxContainer/PlayerInfo"]
@@ -341,7 +279,7 @@ custom_minimum_size = Vector2(400, 100)
layout_mode = 2
size_flags_horizontal = 0
text = "Use Item?"
label_settings = ExtResource("6_tmdno")
label_settings = ExtResource("7_vyrxm")
autowrap_mode = 2
[node name="ItemEffectLabel" type="Label" parent="InventoryInfo/HBoxContainer/PlayerInfo/HBoxContainer/VBoxContainer"]
@@ -349,7 +287,7 @@ unique_name_in_owner = true
custom_minimum_size = Vector2(400, 100)
layout_mode = 2
size_flags_horizontal = 0
label_settings = SubResource("LabelSettings_mundu")
label_settings = ExtResource("7_vyrxm")
autowrap_mode = 2
[node name="UseButton" type="Button" parent="InventoryInfo/HBoxContainer/PlayerInfo/HBoxContainer/VBoxContainer"]
@@ -368,6 +306,7 @@ theme_override_colors/font_disabled_color = Color(0.137255, 0.121569, 0.12549, 1
theme_override_colors/font_color = Color(0.737255, 0.705882, 0.690196, 1)
theme_override_colors/font_focus_color = Color(1, 0.94902, 0, 1)
theme_override_colors/font_pressed_color = Color(0.137255, 0.121569, 0.12549, 1)
theme_override_fonts/font = ExtResource("8_7co7g")
theme_override_styles/focus = SubResource("StyleBoxEmpty_0kb6l")
theme_override_styles/disabled = SubResource("StyleBoxEmpty_fu7o2")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_nkvce")
@@ -392,6 +331,7 @@ theme_override_colors/font_disabled_color = Color(0.137255, 0.121569, 0.12549, 1
theme_override_colors/font_color = Color(0.737255, 0.705882, 0.690196, 1)
theme_override_colors/font_focus_color = Color(1, 0.94902, 0, 1)
theme_override_colors/font_pressed_color = Color(0.137255, 0.121569, 0.12549, 1)
theme_override_fonts/font = ExtResource("8_7co7g")
theme_override_styles/focus = SubResource("StyleBoxEmpty_0kb6l")
theme_override_styles/disabled = SubResource("StyleBoxEmpty_ascpt")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_abpb1")
@@ -416,6 +356,7 @@ theme_override_colors/font_disabled_color = Color(0.137255, 0.121569, 0.12549, 1
theme_override_colors/font_color = Color(0.737255, 0.705882, 0.690196, 1)
theme_override_colors/font_focus_color = Color(1, 0.94902, 0, 1)
theme_override_colors/font_pressed_color = Color(0.137255, 0.121569, 0.12549, 1)
theme_override_fonts/font = ExtResource("8_7co7g")
theme_override_styles/focus = SubResource("StyleBoxEmpty_omlgh")
theme_override_styles/disabled = SubResource("StyleBoxEmpty_uerb4")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_lvcf8")

View File

@@ -1,18 +1,12 @@
[gd_scene load_steps=8 format=3 uid="uid://c005nd0m2eim"]
[gd_scene load_steps=6 format=3 uid="uid://c005nd0m2eim"]
[ext_resource type="Script" uid="uid://cglxk7v8hpesn" path="res://src/ui/inventory_menu/ItemSlot.cs" id="1_yttxt"]
[ext_resource type="Texture2D" uid="uid://0r1dws4ajhdx" path="res://src/items/accessory/textures/MASK 01.PNG" id="2_7kdbd"]
[ext_resource type="LabelSettings" uid="uid://dupifadnagodp" path="res://src/ui/label_settings/MainTextRegular.tres" id="3_rf22b"]
[ext_resource type="Script" uid="uid://b0rrpkpsfdga8" path="res://src/ui/inventory_menu/ItemLabel.cs" id="3_xlgl0"]
[ext_resource type="FontFile" uid="uid://bohbd123672ea" path="res://src/ui/fonts/FT88-Italic.ttf" id="4_vcxwm"]
[ext_resource type="LabelSettings" uid="uid://bl5xpqyq8vjtv" path="res://src/ui/inventory_menu/InventoryLabelSettings.tres" id="5_a7hko"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_lt1pw"]
[sub_resource type="LabelSettings" id="LabelSettings_lgjx0"]
font = ExtResource("4_vcxwm")
font_size = 30
font_color = Color(0, 0.682353, 0.937255, 1)
[node name="ItemSlot" type="Button"]
custom_minimum_size = Vector2(100, 60)
anchors_preset = -1
@@ -61,7 +55,7 @@ unique_name_in_owner = true
custom_minimum_size = Vector2(550, 50)
layout_mode = 2
text = "Mask of the Goddess of Destruction"
label_settings = SubResource("LabelSettings_lgjx0")
label_settings = ExtResource("3_rf22b")
vertical_alignment = 1
script = ExtResource("3_xlgl0")
@@ -70,4 +64,4 @@ unique_name_in_owner = true
visible = false
layout_mode = 2
text = "x99"
label_settings = ExtResource("5_a7hko")
label_settings = ExtResource("3_rf22b")

View File

@@ -0,0 +1,10 @@
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://0elvhfcwosol"]
[ext_resource type="FontFile" uid="uid://cke424xtk2s0o" path="res://src/ui/fonts/ebrima.ttf" id="1_acmx1"]
[resource]
line_spacing = 1.0
font = ExtResource("1_acmx1")
font_size = 35
outline_size = 3
outline_color = Color(0, 0, 0, 1)

View File

@@ -0,0 +1,10 @@
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://bgnwcs434ppkf"]
[ext_resource type="FontFile" uid="uid://cke424xtk2s0o" path="res://src/ui/fonts/ebrima.ttf" id="1_dd2bd"]
[resource]
line_spacing = 1.0
font = ExtResource("1_dd2bd")
font_size = 35
outline_size = 3
outline_color = Color(0, 0, 0, 1)

View File

@@ -0,0 +1,10 @@
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://b6f8ggy3ulonb"]
[ext_resource type="FontFile" uid="uid://beh6d5lo5ihq0" path="res://src/ui/fonts/georgiai.ttf" id="1_pv45s"]
[resource]
line_spacing = 1.0
font = ExtResource("1_pv45s")
font_size = 25
outline_size = 3
outline_color = Color(0, 0, 0, 1)

View File

@@ -1,8 +1,8 @@
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://wc363u5t1yi2"]
[ext_resource type="FontFile" uid="uid://cm8j5vcdop5x0" path="res://src/ui/fonts/Mrs-Eaves-OT-Roman_31443.ttf" id="1_olalj"]
[ext_resource type="FontFile" uid="uid://tfskthaq7tmi" path="res://src/ui/fonts/georgia.ttf" id="1_x45xf"]
[resource]
font = ExtResource("1_olalj")
font = ExtResource("1_x45xf")
font_size = 70
font_color = Color(0.737255, 0.705882, 0.690196, 1)

View File

@@ -1,8 +1,8 @@
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://dw0lfsckex1yx"]
[ext_resource type="FontFile" uid="uid://cm8j5vcdop5x0" path="res://src/ui/fonts/Mrs-Eaves-OT-Roman_31443.ttf" id="1_amsqn"]
[ext_resource type="FontFile" uid="uid://tfskthaq7tmi" path="res://src/ui/fonts/georgia.ttf" id="1_hkb3v"]
[resource]
font = ExtResource("1_amsqn")
font = ExtResource("1_hkb3v")
font_size = 48
font_color = Color(0.439216, 0.415686, 0.407843, 1)

View File

@@ -1,6 +1,6 @@
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://bqdq5r46uduvd"]
[ext_resource type="FontFile" uid="uid://duu4matpexcq4" path="res://src/ui/fonts/LSANS.TTF" id="1_kxooq"]
[ext_resource type="FontFile" uid="uid://beh6d5lo5ihq0" path="res://src/ui/fonts/georgiai.ttf" id="1_kxooq"]
[resource]
font = ExtResource("1_kxooq")

View File

@@ -1,6 +1,6 @@
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://ca1q6yu8blwxf"]
[ext_resource type="FontFile" uid="uid://duu4matpexcq4" path="res://src/ui/fonts/LSANS.TTF" id="1_d10ca"]
[ext_resource type="FontFile" uid="uid://beh6d5lo5ihq0" path="res://src/ui/fonts/georgiai.ttf" id="1_d10ca"]
[resource]
font = ExtResource("1_d10ca")

View File

@@ -1,6 +1,6 @@
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://ckvxvx2tiwttt"]
[ext_resource type="FontFile" uid="uid://ddvfnyovqnvew" path="res://src/ui/fonts/LSANSI.TTF" id="1_fr1ua"]
[ext_resource type="FontFile" uid="uid://kanchroaxc6" path="res://src/ui/fonts/BOD_BI.TTF" id="1_fr1ua"]
[resource]
font = ExtResource("1_fr1ua")

View File

@@ -1,8 +1,8 @@
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://cuuo43x72xcsc"]
[ext_resource type="FontFile" uid="uid://duu4matpexcq4" path="res://src/ui/fonts/LSANS.TTF" id="1_fbwht"]
[ext_resource type="FontFile" uid="uid://holv8bks3o5g" path="res://src/ui/fonts/BOD_B.TTF" id="1_fbwht"]
[resource]
font = ExtResource("1_fbwht")
font_size = 22
font_size = 35
font_color = Color(0.737255, 0.705882, 0.690196, 1)

View File

@@ -1,6 +1,6 @@
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://ur3wpe2kp2j2"]
[ext_resource type="FontFile" uid="uid://duu4matpexcq4" path="res://src/ui/fonts/LSANS.TTF" id="1_jsy43"]
[ext_resource type="FontFile" uid="uid://holv8bks3o5g" path="res://src/ui/fonts/BOD_B.TTF" id="1_jsy43"]
[resource]
font = ExtResource("1_jsy43")

View File

@@ -1,6 +1,6 @@
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://c4wbba5mo7qcp"]
[ext_resource type="FontFile" uid="uid://ddvfnyovqnvew" path="res://src/ui/fonts/LSANSI.TTF" id="1_gvqi7"]
[ext_resource type="FontFile" uid="uid://dmqrdbprkp7v8" path="res://src/ui/fonts/BOD_I.TTF" id="1_gvqi7"]
[resource]
font = ExtResource("1_gvqi7")

View File

@@ -1,6 +1,6 @@
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://b3jrpf2sdtsqo"]
[ext_resource type="FontFile" uid="uid://ddvfnyovqnvew" path="res://src/ui/fonts/LSANSI.TTF" id="1_r2ost"]
[ext_resource type="FontFile" uid="uid://kanchroaxc6" path="res://src/ui/fonts/BOD_BI.TTF" id="1_r2ost"]
[resource]
font = ExtResource("1_r2ost")

View File

@@ -1,7 +1,10 @@
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://dupifadnagodp"]
[ext_resource type="FontFile" uid="uid://bt7dv5ayfvmti" path="res://src/ui/fonts/bodoni-italic.ttf" id="1_scy74"]
[ext_resource type="FontFile" uid="uid://gosyy1xs8n8y" path="res://src/ui/fonts/BOD_R.TTF" id="1_scy74"]
[resource]
line_spacing = 1.0
font = ExtResource("1_scy74")
font_size = 32
font_size = 35
outline_size = 3
outline_color = Color(0, 0, 0, 1)

View File

@@ -1,8 +1,12 @@
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://cvjhqu13opvjq"]
[ext_resource type="FontFile" uid="uid://bt7dv5ayfvmti" path="res://src/ui/fonts/bodoni-italic.ttf" id="1_u6juj"]
[ext_resource type="FontFile" uid="uid://dmqrdbprkp7v8" path="res://src/ui/fonts/BOD_I.TTF" id="1_u6juj"]
[resource]
font = ExtResource("1_u6juj")
font_size = 32
font_color = Color(0.792157, 0.698039, 0.643137, 1)
outline_size = 3
outline_color = Color(0, 0, 0, 1)
shadow_color = Color(0.117647, 0.117647, 0.117647, 0.760784)
shadow_offset = Vector2(-3, 1)

View File

@@ -1,9 +1,9 @@
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://dnkovn3xwbt0t"]
[ext_resource type="FontFile" uid="uid://dp1k143v7cppw" path="res://src/ui/fonts/Lust_Sans_Regular.otf" id="1_kbo40"]
[ext_resource type="FontFile" uid="uid://bt7dv5ayfvmti" path="res://src/ui/fonts/bodoni-italic.ttf" id="1_xa15j"]
[resource]
font = ExtResource("1_kbo40")
font = ExtResource("1_xa15j")
font_size = 128
font_color = Color(0.737255, 0.705882, 0.690196, 1)
shadow_size = 0

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=9 format=3 uid="uid://dxfbdk7lhdvus"]
[gd_scene load_steps=10 format=3 uid="uid://dxfbdk7lhdvus"]
[ext_resource type="LabelSettings" uid="uid://dnkovn3xwbt0t" path="res://src/ui/label_settings/TitleFont.tres" id="1_lt2oc"]
[ext_resource type="LabelSettings" uid="uid://wc363u5t1yi2" path="res://src/ui/label_settings/HeadingFont.tres" id="2_6orqu"]
@@ -7,7 +7,8 @@
[ext_resource type="LabelSettings" uid="uid://cuuo43x72xcsc" path="res://src/ui/label_settings/MainTextBold.tres" id="4_vds7k"]
[ext_resource type="LabelSettings" uid="uid://c4wbba5mo7qcp" path="res://src/ui/label_settings/MainTextFontItalicized.tres" id="6_8ni0v"]
[ext_resource type="LabelSettings" uid="uid://ur3wpe2kp2j2" path="res://src/ui/label_settings/MainTextFontEquipped.tres" id="7_o8qef"]
[ext_resource type="LabelSettings" uid="uid://ckvxvx2tiwttt" path="res://src/ui/label_settings/MainTextApplied.tres" id="8_ld5mo"]
[ext_resource type="LabelSettings" uid="uid://b3jrpf2sdtsqo" path="res://src/ui/label_settings/MainTextFontSelectedEquipped.tres" id="8_hbh86"]
[ext_resource type="LabelSettings" uid="uid://0elvhfcwosol" path="res://src/ui/label_settings/DialogueText.tres" id="9_hbh86"]
[node name="UISandbox" type="Control"]
layout_mode = 3
@@ -49,6 +50,7 @@ label_settings = ExtResource("1_lt2oc")
layout_mode = 2
text = "HEADING FONT - STANDARD + SELECTED"
label_settings = ExtResource("2_6orqu")
horizontal_alignment = 1
[node name="Heading Font (Unselected)" type="Label" parent="MarginContainer/HFlowContainer"]
layout_mode = 2
@@ -67,17 +69,27 @@ label_settings = ExtResource("4_vds7k")
[node name="MainTextItalic" type="Label" parent="MarginContainer/HFlowContainer"]
layout_mode = 2
text = "Main Text Font - Italic
text = "Main Text Font - Italic (Selected)
"
label_settings = ExtResource("6_8ni0v")
[node name="MainTextItalicEquipped" type="Label" parent="MarginContainer/HFlowContainer"]
layout_mode = 2
text = "Main Text Font - Italic
text = "Main Text Font - (Equipped)
"
label_settings = ExtResource("7_o8qef")
[node name="ItemApplied" type="Label" parent="MarginContainer/HFlowContainer"]
layout_mode = 2
text = "Item Applied Font - Bold"
label_settings = ExtResource("8_ld5mo")
text = "Main Text Font - Selected and Equipped"
label_settings = ExtResource("8_hbh86")
[node name="DialogueHeader" type="Label" parent="MarginContainer/HFlowContainer"]
layout_mode = 2
text = "Dialogue Title"
label_settings = ExtResource("9_hbh86")
[node name="DialogueText" type="Label" parent="MarginContainer/HFlowContainer"]
layout_mode = 2
text = "Dialogue Text"
label_settings = ExtResource("9_hbh86")

View File

@@ -0,0 +1,17 @@
using Chickensoft.GodotNodeInterfaces;
using System;
namespace Zennysoft.Game.Ma;
public interface IFloorClearMenu : IControl
{
public event Action GoToNextFloor;
public event Action Exit;
public event Action TransitionCompleted;
void FadeIn();
void FadeOut();
}

View File

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

View File

@@ -0,0 +1,112 @@
using Chickensoft.AutoInject;
using Chickensoft.GodotNodeInterfaces;
using Chickensoft.Introspection;
using Godot;
using System;
using System.Linq;
using Zennysoft.Game.Ma;
using Zennysoft.Ma.Adapter;
[Meta(typeof(IAutoNode))]
public partial class LoadNextLevel : Control, IFloorClearMenu
{
public override void _Notification(int what) => this.Notify(what);
[Dependency] protected IPlayer _player => this.DependOn(() => GetParent().GetChildren().OfType<IPlayer>().Single());
[Dependency] public IMap _map => this.DependOn<IMap>();
[Node] public IAnimationPlayer AnimationPlayer { get; set; } = default!;
[Node] public Button ContinueButton { get; set; }
[Node] public Button ExitButton { get; set; }
[Node] public Label LevelLabel { get; set; }
[Node] public Label EXPLabel { get; set; }
[Node] public Label HPLabel { get; set; }
[Node] public Label VTLabel { get; set; }
[Node] public Label ATKLabel { get; set; }
[Node] public Label DEFLabel { get; set; }
[Node] public Label FloorNumber { get; set; }
public void FadeIn() => AnimationPlayer.Play("fade_in");
public void FadeOut() => AnimationPlayer.Play("fade_out");
public event Action GoToNextFloor;
public event Action Exit;
public event Action TransitionCompleted;
public void OnResolved()
{
_player.ExperiencePointsComponent.Level.Sync += Level_Sync;
_player.ExperiencePointsComponent.CurrentExp.Sync += Exp_Sync;
_player.ExperiencePointsComponent.ExpToNextLevel.Sync += Exp_Sync;
_player.HealthComponent.CurrentHP.Sync += HP_Sync;
_player.HealthComponent.MaximumHP.Sync += HP_Sync;
_player.VTComponent.CurrentVT.Sync += VT_Sync;
_player.VTComponent.MaximumVT.Sync += VT_Sync;
_player.AttackComponent.CurrentAttack.Sync += Attack_Sync;
_player.AttackComponent.MaximumAttack.Sync += Attack_Sync;
_player.DefenseComponent.CurrentDefense.Sync += Defense_Sync;
_player.DefenseComponent.MaximumDefense.Sync += Defense_Sync;
_player.EquipmentComponent.EquipmentChanged += EquipmentComponent_EquipmentChanged;
_map.CurrentFloorNumber.Sync += CurrentFloorNumber_Sync;
AnimationPlayer.AnimationFinished += AnimationPlayer_AnimationFinished;
AnimationPlayer.AnimationStarted += AnimationPlayer_AnimationStarted;
ContinueButton.Pressed += ContinueButton_Pressed;
ExitButton.Pressed += ExitButton_Pressed;
}
private void CurrentFloorNumber_Sync(int _) => FloorNumber.Text = _map.CurrentFloorNumber.Value.ToString("D2");
private void EquipmentComponent_EquipmentChanged(EquipableItem obj)
{
Attack_Sync(0);
Defense_Sync(0);
}
private void Attack_Sync(int _) => ATKLabel.Text = $"{_player.AttackComponent.CurrentAttack.Value}/{_player.AttackComponent.MaximumAttack.Value}+{_player.EquipmentComponent.BonusAttack}";
private void Defense_Sync(int _) => DEFLabel.Text = $"{_player.DefenseComponent.CurrentDefense.Value}/{_player.DefenseComponent.MaximumDefense.Value}+{_player.EquipmentComponent.BonusDefense}";
private void HP_Sync(int _) => HPLabel.Text = $"{_player.HealthComponent.CurrentHP.Value}/{_player.HealthComponent.MaximumHP.Value}";
private void VT_Sync(int _) => VTLabel.Text = $"{_player.VTComponent.CurrentVT.Value}/{_player.VTComponent.MaximumVT.Value}";
private void Exp_Sync(int _) => EXPLabel.Text = $"{_player.ExperiencePointsComponent.CurrentExp.Value}/{_player.ExperiencePointsComponent.ExpToNextLevel.Value}";
private void Level_Sync(int _) => LevelLabel.Text = _player.ExperiencePointsComponent.Level.Value.ToString("D2");
private void ExitButton_Pressed()
{
ContinueButton.Disabled = true;
ExitButton.Disabled = true;
FadeOut();
Exit?.Invoke();
}
private void ContinueButton_Pressed()
{
ContinueButton.Disabled = true;
ExitButton.Disabled = true;
GoToNextFloor?.Invoke();
}
private void AnimationPlayer_AnimationStarted(StringName animName)
{
if (animName == "fade_in")
ContinueButton.CallDeferred(MethodName.GrabFocus);
if (animName == "fade_out")
CallDeferred(MethodName.ReleaseFocus);
}
private void AnimationPlayer_AnimationFinished(StringName animName)
{
if (animName == "fade_in")
{
ContinueButton.Disabled = false;
ExitButton.Disabled = false;
}
if (animName == "fade_out")
TransitionCompleted?.Invoke();
}
}

View File

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

View File

@@ -0,0 +1,311 @@
[gd_scene load_steps=18 format=3 uid="uid://cgwiwufvxvfs4"]
[ext_resource type="Script" uid="uid://k16ufrh1147t" path="res://src/ui/load_next_level/LoadNextLevel.cs" id="1_t6aoa"]
[ext_resource type="Texture2D" uid="uid://vtecp7jh15kg" path="res://src/ui/rendered_assets/SCREEN_RENDERS_Next_Floor_720_16_9.png" id="2_5vf6u"]
[ext_resource type="FontFile" uid="uid://cm8j5vcdop5x0" path="res://src/ui/fonts/Mrs-Eaves-OT-Roman_31443.ttf" id="3_n7di7"]
[ext_resource type="LabelSettings" uid="uid://bgnwcs434ppkf" path="res://src/ui/label_settings/EbrimaText.tres" id="4_touw6"]
[ext_resource type="FontFile" uid="uid://beh6d5lo5ihq0" path="res://src/ui/fonts/georgiai.ttf" id="5_6ox5a"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_1tca4"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_1pd8j"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_crnka"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_yoep7"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_svmjr"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_cmr8o"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ahhj2"]
[sub_resource type="LabelSettings" id="LabelSettings_tygw6"]
font = ExtResource("5_6ox5a")
font_size = 48
[sub_resource type="Animation" id="Animation_xrfau"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_efhb5"]
resource_name = "fade_in"
length = 2.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(0, 0, 0, 1), Color(1, 1, 1, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="Animation" id="Animation_ibgld"]
resource_name = "fade_out"
length = 2.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(0, 0, 0, 1)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_7x216"]
_data = {
&"RESET": SubResource("Animation_xrfau"),
&"fade_in": SubResource("Animation_efhb5"),
&"fade_out": SubResource("Animation_ibgld")
}
[node name="LoadNextLevel" type="Control"]
process_mode = 3
visible = false
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_t6aoa")
[node name="TextureRect" type="TextureRect" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("2_5vf6u")
[node name="MarginContainer" type="MarginContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 1340
theme_override_constants/margin_top = 250
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
layout_mode = 2
theme_override_constants/separation = 20
[node name="ContinueButton" type="Button" parent="MarginContainer/VBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(100, 0)
layout_mode = 2
focus_neighbor_left = NodePath(".")
focus_neighbor_top = NodePath(".")
focus_neighbor_right = NodePath(".")
focus_neighbor_bottom = NodePath("../ExitButton")
theme_override_colors/font_color = Color(0.737255, 0.705882, 0.690196, 1)
theme_override_colors/font_focus_color = Color(1, 0.94902, 0, 1)
theme_override_fonts/font = ExtResource("3_n7di7")
theme_override_font_sizes/font_size = 50
theme_override_styles/focus = SubResource("StyleBoxEmpty_1tca4")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_1pd8j")
theme_override_styles/normal = SubResource("StyleBoxEmpty_crnka")
button_mask = 0
text = "CONTINUE"
[node name="ExitButton" type="Button" parent="MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
focus_neighbor_left = NodePath(".")
focus_neighbor_top = NodePath("../ContinueButton")
focus_neighbor_right = NodePath(".")
focus_neighbor_bottom = NodePath(".")
theme_override_colors/font_color = Color(0.737255, 0.705882, 0.690196, 1)
theme_override_colors/font_focus_color = Color(1, 0.94902, 0, 1)
theme_override_fonts/font = ExtResource("3_n7di7")
theme_override_font_sizes/font_size = 50
theme_override_styles/focus = SubResource("StyleBoxEmpty_yoep7")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_svmjr")
theme_override_styles/normal = SubResource("StyleBoxEmpty_cmr8o")
button_mask = 0
text = "EXIT TOWER"
[node name="PlayerStats" type="VBoxContainer" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="LevelBox" type="HBoxContainer" parent="MarginContainer/VBoxContainer/PlayerStats"]
layout_mode = 2
alignment = 1
[node name="StatLabel" type="Label" parent="MarginContainer/VBoxContainer/PlayerStats/LevelBox"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "LEVEL"
label_settings = ExtResource("4_touw6")
[node name="LevelLabel" type="Label" parent="MarginContainer/VBoxContainer/PlayerStats/LevelBox"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "09"
label_settings = ExtResource("4_touw6")
horizontal_alignment = 2
[node name="EXPBox" type="HBoxContainer" parent="MarginContainer/VBoxContainer/PlayerStats"]
layout_mode = 2
alignment = 1
[node name="StatLabel" type="Label" parent="MarginContainer/VBoxContainer/PlayerStats/EXPBox"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "EXP"
label_settings = ExtResource("4_touw6")
[node name="EXPLabel" type="Label" parent="MarginContainer/VBoxContainer/PlayerStats/EXPBox"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "243/419"
label_settings = ExtResource("4_touw6")
horizontal_alignment = 2
[node name="HPBox" type="HBoxContainer" parent="MarginContainer/VBoxContainer/PlayerStats"]
layout_mode = 2
alignment = 1
[node name="StatLabel" type="Label" parent="MarginContainer/VBoxContainer/PlayerStats/HPBox"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "HP"
label_settings = ExtResource("4_touw6")
[node name="HPLabel" type="Label" parent="MarginContainer/VBoxContainer/PlayerStats/HPBox"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "41/290"
label_settings = ExtResource("4_touw6")
horizontal_alignment = 2
[node name="VTBox" type="HBoxContainer" parent="MarginContainer/VBoxContainer/PlayerStats"]
layout_mode = 2
alignment = 1
[node name="StatLabel" type="Label" parent="MarginContainer/VBoxContainer/PlayerStats/VTBox"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "VT"
label_settings = ExtResource("4_touw6")
[node name="VTLabel" type="Label" parent="MarginContainer/VBoxContainer/PlayerStats/VTBox"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "14/99"
label_settings = ExtResource("4_touw6")
horizontal_alignment = 2
[node name="ATKBox" type="HBoxContainer" parent="MarginContainer/VBoxContainer/PlayerStats"]
layout_mode = 2
alignment = 1
[node name="StatLabel" type="Label" parent="MarginContainer/VBoxContainer/PlayerStats/ATKBox"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "ATK"
label_settings = ExtResource("4_touw6")
[node name="ATKLabel" type="Label" parent="MarginContainer/VBoxContainer/PlayerStats/ATKBox"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "18/18+8"
label_settings = ExtResource("4_touw6")
horizontal_alignment = 2
[node name="DEFBox" type="HBoxContainer" parent="MarginContainer/VBoxContainer/PlayerStats"]
layout_mode = 2
alignment = 1
[node name="StatLabel" type="Label" parent="MarginContainer/VBoxContainer/PlayerStats/DEFBox"]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "DEF"
label_settings = ExtResource("4_touw6")
[node name="DEFLabel" type="Label" parent="MarginContainer/VBoxContainer/PlayerStats/DEFBox"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "14/14"
label_settings = ExtResource("4_touw6")
horizontal_alignment = 2
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="LevelText" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0.737255, 0.705882, 0.690196, 1)
theme_override_fonts/font = ExtResource("3_n7di7")
theme_override_font_sizes/font_size = 50
theme_override_styles/normal = SubResource("StyleBoxEmpty_ahhj2")
text = "La Sekva Etago:"
label_settings = SubResource("LabelSettings_tygw6")
[node name="FloorNumber" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_override_colors/font_color = Color(0.737255, 0.705882, 0.690196, 1)
theme_override_fonts/font = ExtResource("3_n7di7")
theme_override_font_sizes/font_size = 50
theme_override_styles/normal = SubResource("StyleBoxEmpty_ahhj2")
text = "07"
label_settings = SubResource("LabelSettings_tygw6")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
libraries = {
&"": SubResource("AnimationLibrary_7x216")
}

File diff suppressed because one or more lines are too long

View File

@@ -1,10 +1,17 @@
[gd_scene load_steps=14 format=3 uid="uid://bea2waybmgd6u"]
[gd_scene load_steps=16 format=3 uid="uid://bea2waybmgd6u"]
[ext_resource type="Script" uid="uid://dvn7g207w5jaj" path="res://src/ui/in_game_ui/UseTeleportPrompt.cs" id="1_x3wkp"]
[ext_resource type="FontFile" uid="uid://cm8j5vcdop5x0" path="res://src/ui/fonts/Mrs-Eaves-OT-Roman_31443.ttf" id="2_i6kb2"]
[ext_resource type="FontFile" uid="uid://duu4matpexcq4" path="res://src/ui/fonts/LSANS.TTF" id="3_tygw6"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ahhj2"]
[sub_resource type="LabelSettings" id="LabelSettings_3g0y1"]
font = ExtResource("3_tygw6")
font_size = 60
outline_size = 2
outline_color = Color(0, 0, 0, 1)
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_1tca4"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_1pd8j"]
@@ -136,6 +143,7 @@ theme_override_fonts/font = ExtResource("2_i6kb2")
theme_override_font_sizes/font_size = 50
theme_override_styles/normal = SubResource("StyleBoxEmpty_ahhj2")
text = "Move to the next floor?"
label_settings = SubResource("LabelSettings_3g0y1")
[node name="YesButton" type="Button" parent="CenterContainer/VBoxContainer"]
unique_name_in_owner = true
@@ -147,7 +155,7 @@ focus_neighbor_right = NodePath(".")
focus_neighbor_bottom = NodePath("../NoButton")
theme_override_colors/font_color = Color(0.737255, 0.705882, 0.690196, 1)
theme_override_colors/font_focus_color = Color(1, 0.94902, 0, 1)
theme_override_fonts/font = ExtResource("2_i6kb2")
theme_override_fonts/font = ExtResource("3_tygw6")
theme_override_font_sizes/font_size = 50
theme_override_styles/focus = SubResource("StyleBoxEmpty_1tca4")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_1pd8j")
@@ -164,7 +172,7 @@ focus_neighbor_right = NodePath(".")
focus_neighbor_bottom = NodePath(".")
theme_override_colors/font_color = Color(0.737255, 0.705882, 0.690196, 1)
theme_override_colors/font_focus_color = Color(1, 0.94902, 0, 1)
theme_override_fonts/font = ExtResource("2_i6kb2")
theme_override_fonts/font = ExtResource("3_tygw6")
theme_override_font_sizes/font_size = 50
theme_override_styles/focus = SubResource("StyleBoxEmpty_yoep7")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_svmjr")