Loading screen fixes, transition screen UI fixes

This commit is contained in:
2026-02-03 01:47:42 -08:00
parent 51010c4f7d
commit 34dce8c5a2
14 changed files with 335 additions and 256 deletions

View File

@@ -38,34 +38,42 @@ public partial class LoadNextLevel : Control, IFloorClearMenu
public event Action TransitionCompleted;
private bool _fadingIn = false;
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;
_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;
AnimationPlayer.AnimationFinished += AnimationPlayer_AnimationFinished;
AnimationPlayer.AnimationStarted += AnimationPlayer_AnimationStarted;
ContinueButton.Pressed += ContinueButton_Pressed;
ExitButton.Pressed += ExitButton_Pressed;
}
public override void _Input(InputEvent @event)
{
if (_fadingIn)
GetViewport().SetInputAsHandled();
}
private void CurrentFloorNumber_Sync(int _) => FloorNumber.Text = _map.CurrentFloorNumber.Value.ToString("D2");
private void EquipmentComponent_EquipmentChanged(EquipableItem obj)
{
Attack_Sync(0);
Defense_Sync(0);
Attack_Sync(0);
Defense_Sync(0);
}
private void Attack_Sync(int _) => ATKLabel.Text = $"{_player.AttackComponent.CurrentAttack.Value}/{_player.AttackComponent.MaximumAttack.Value}+{_player.EquipmentComponent.BonusAttack}";
@@ -78,35 +86,44 @@ public partial class LoadNextLevel : Control, IFloorClearMenu
private void ExitButton_Pressed()
{
ContinueButton.Disabled = true;
ExitButton.Disabled = true;
FadeOut();
Exit?.Invoke();
ContinueButton.Disabled = true;
ExitButton.Disabled = true;
FadeOut();
Exit?.Invoke();
}
private void ContinueButton_Pressed()
{
ContinueButton.Disabled = true;
ExitButton.Disabled = true;
GoToNextFloor?.Invoke();
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);
if (animName == "fade_in")
{
_fadingIn = true;
ContinueButton.Disabled = true;
ExitButton.Disabled = true;
ContinueButton.CallDeferred(MethodName.GrabFocus);
}
if (animName == "fade_out")
{
_fadingIn = true;
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();
if (animName == "fade_in")
{
_fadingIn = false;
ContinueButton.Disabled = false;
ExitButton.Disabled = false;
}
if (animName == "fade_out")
TransitionCompleted?.Invoke();
}
}

View File

@@ -1,22 +1,12 @@
[gd_scene load_steps=18 format=3 uid="uid://cgwiwufvxvfs4"]
[gd_scene load_steps=14 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="StyleBox" uid="uid://bxuy4tnftibfq" path="res://src/options/SelectedOptionsBox.tres" id="4_e3fxd"]
[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_crnka"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_1pd8j"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_yoep7"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_svmjr"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_cmr8o"]
[ext_resource type="StyleBox" uid="uid://bl15q835s4ene" path="res://src/options/UnselectedOptionsBox.tres" id="5_45afn"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ahhj2"]
@@ -53,7 +43,6 @@ tracks/1/keys = {
[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
@@ -61,7 +50,7 @@ tracks/0/path = NodePath(".:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(0, 0, 0, 1), Color(1, 1, 1, 1)]
@@ -81,7 +70,6 @@ tracks/1/keys = {
[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
@@ -89,7 +77,7 @@ tracks/0/path = NodePath(".:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1.8),
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(0, 0, 0, 1)]
@@ -138,8 +126,8 @@ 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
size_flags_horizontal = 4
focus_neighbor_left = NodePath(".")
focus_neighbor_top = NodePath(".")
focus_neighbor_right = NodePath(".")
@@ -148,11 +136,17 @@ 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/disabled = SubResource("StyleBoxEmpty_crnka")
theme_override_styles/hover = SubResource("StyleBoxEmpty_crnka")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_1pd8j")
theme_override_styles/normal = SubResource("StyleBoxEmpty_crnka")
theme_override_styles/focus = ExtResource("4_e3fxd")
theme_override_styles/disabled_mirrored = ExtResource("4_e3fxd")
theme_override_styles/disabled = ExtResource("4_e3fxd")
theme_override_styles/hover_pressed_mirrored = ExtResource("4_e3fxd")
theme_override_styles/hover_pressed = ExtResource("4_e3fxd")
theme_override_styles/hover_mirrored = ExtResource("4_e3fxd")
theme_override_styles/hover = ExtResource("4_e3fxd")
theme_override_styles/pressed_mirrored = ExtResource("4_e3fxd")
theme_override_styles/pressed = ExtResource("4_e3fxd")
theme_override_styles/normal_mirrored = ExtResource("4_e3fxd")
theme_override_styles/normal = ExtResource("4_e3fxd")
button_mask = 0
text = "CONTINUE"
flat = true
@@ -160,6 +154,7 @@ flat = true
[node name="ExitButton" type="Button" parent="MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
focus_neighbor_left = NodePath(".")
focus_neighbor_top = NodePath("../ContinueButton")
focus_neighbor_right = NodePath(".")
@@ -168,17 +163,17 @@ 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/disabled_mirrored = SubResource("StyleBoxEmpty_yoep7")
theme_override_styles/disabled = SubResource("StyleBoxEmpty_yoep7")
theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_yoep7")
theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_yoep7")
theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_yoep7")
theme_override_styles/hover = SubResource("StyleBoxEmpty_svmjr")
theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_yoep7")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_svmjr")
theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_yoep7")
theme_override_styles/normal = SubResource("StyleBoxEmpty_cmr8o")
theme_override_styles/focus = ExtResource("4_e3fxd")
theme_override_styles/disabled_mirrored = ExtResource("5_45afn")
theme_override_styles/disabled = ExtResource("5_45afn")
theme_override_styles/hover_pressed_mirrored = ExtResource("5_45afn")
theme_override_styles/hover_pressed = ExtResource("5_45afn")
theme_override_styles/hover_mirrored = ExtResource("5_45afn")
theme_override_styles/hover = ExtResource("5_45afn")
theme_override_styles/pressed_mirrored = ExtResource("5_45afn")
theme_override_styles/pressed = ExtResource("5_45afn")
theme_override_styles/normal_mirrored = ExtResource("5_45afn")
theme_override_styles/normal = ExtResource("5_45afn")
button_mask = 0
text = "EXIT TOWER"
flat = true

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=13 format=3 uid="uid://bea2waybmgd6u"]
[gd_scene load_steps=12 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"]
@@ -14,8 +14,6 @@ font_size = 48
outline_size = 2
outline_color = Color(0, 0, 0, 1)
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_1pd8j"]
[sub_resource type="Animation" id="Animation_xrfau"]
length = 0.001
tracks/0/type = "value"
@@ -152,11 +150,11 @@ theme_override_fonts/font = ExtResource("3_tygw6")
theme_override_font_sizes/font_size = 50
theme_override_styles/focus = ExtResource("4_43cjp")
theme_override_styles/disabled_mirrored = ExtResource("5_sytxg")
theme_override_styles/disabled = SubResource("StyleBoxEmpty_1pd8j")
theme_override_styles/disabled = ExtResource("5_sytxg")
theme_override_styles/hover_pressed_mirrored = ExtResource("5_sytxg")
theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_1pd8j")
theme_override_styles/hover_pressed = ExtResource("5_sytxg")
theme_override_styles/hover_mirrored = ExtResource("5_sytxg")
theme_override_styles/hover = SubResource("StyleBoxEmpty_1pd8j")
theme_override_styles/hover = ExtResource("5_sytxg")
theme_override_styles/pressed_mirrored = ExtResource("5_sytxg")
theme_override_styles/pressed = ExtResource("5_sytxg")
theme_override_styles/normal_mirrored = ExtResource("5_sytxg")
@@ -179,8 +177,11 @@ theme_override_fonts/font = ExtResource("3_tygw6")
theme_override_font_sizes/font_size = 50
theme_override_styles/focus = ExtResource("4_43cjp")
theme_override_styles/disabled_mirrored = ExtResource("5_sytxg")
theme_override_styles/disabled = ExtResource("5_sytxg")
theme_override_styles/hover_pressed_mirrored = ExtResource("5_sytxg")
theme_override_styles/hover_pressed = ExtResource("5_sytxg")
theme_override_styles/hover_mirrored = ExtResource("5_sytxg")
theme_override_styles/hover = ExtResource("5_sytxg")
theme_override_styles/pressed_mirrored = ExtResource("5_sytxg")
theme_override_styles/pressed = ExtResource("5_sytxg")
theme_override_styles/normal_mirrored = ExtResource("5_sytxg")