Move files and folders to new repo format to enable multi-project format
This commit is contained in:
24
Zennysoft.Game.Ma/src/ui/death_menu/DeathMenu.cs
Normal file
24
Zennysoft.Game.Ma/src/ui/death_menu/DeathMenu.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using Chickensoft.AutoInject;
|
||||
using Chickensoft.GodotNodeInterfaces;
|
||||
using Chickensoft.Introspection;
|
||||
using Godot;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
|
||||
public interface IDeathMenu : IControl
|
||||
{
|
||||
void FadeIn();
|
||||
void FadeOut();
|
||||
}
|
||||
|
||||
[Meta(typeof(IAutoNode))]
|
||||
public partial class DeathMenu : Control, IDeathMenu
|
||||
{
|
||||
public override void _Notification(int what) => this.Notify(what);
|
||||
|
||||
[Node] public IAnimationPlayer AnimationPlayer { get; set; } = default!;
|
||||
|
||||
public void FadeIn() => AnimationPlayer.Play("fade_in");
|
||||
|
||||
public void FadeOut() => AnimationPlayer.Play("fade_out");
|
||||
}
|
||||
1
Zennysoft.Game.Ma/src/ui/death_menu/DeathMenu.cs.uid
Normal file
1
Zennysoft.Game.Ma/src/ui/death_menu/DeathMenu.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://caqsfstq2l0lq
|
||||
99
Zennysoft.Game.Ma/src/ui/death_menu/DeathMenu.tscn
Normal file
99
Zennysoft.Game.Ma/src/ui/death_menu/DeathMenu.tscn
Normal file
@@ -0,0 +1,99 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://dbtfgrtgpr4qg"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://caqsfstq2l0lq" path="res://src/ui/death_menu/DeathMenu.cs" id="1_megey"]
|
||||
[ext_resource type="FontFile" uid="uid://cm8j5vcdop5x0" path="res://src/ui/fonts/Mrs-Eaves-OT-Roman_31443.ttf" id="2_ip5p6"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_qmlrq"]
|
||||
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)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_q2nvr"]
|
||||
resource_name = "fade_in"
|
||||
length = 0.5
|
||||
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, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_6ji3u"]
|
||||
resource_name = "fade_out"
|
||||
length = 0.5
|
||||
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, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ek7oy"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_qmlrq"),
|
||||
&"fade_in": SubResource("Animation_q2nvr"),
|
||||
&"fade_out": SubResource("Animation_6ji3u")
|
||||
}
|
||||
|
||||
[node name="DeathMenu" 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_megey")
|
||||
|
||||
[node name="ColorRect" 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="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ek7oy")
|
||||
}
|
||||
|
||||
[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="GameOverPlaceholder" type="Label" parent="CenterContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.545098, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 12
|
||||
theme_override_fonts/font = ExtResource("2_ip5p6")
|
||||
theme_override_font_sizes/font_size = 72
|
||||
text = "Game Over"
|
||||
112
Zennysoft.Game.Ma/src/ui/dialogue/Balloon.tscn
Normal file
112
Zennysoft.Game.Ma/src/ui/dialogue/Balloon.tscn
Normal file
@@ -0,0 +1,112 @@
|
||||
[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_reponses_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"]
|
||||
204
Zennysoft.Game.Ma/src/ui/dialogue/DialogueBalloon.cs
Normal file
204
Zennysoft.Game.Ma/src/ui/dialogue/DialogueBalloon.cs
Normal file
@@ -0,0 +1,204 @@
|
||||
using DialogueManagerRuntime;
|
||||
using Godot;
|
||||
using Godot.Collections;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
public partial class DialogueBalloon : CanvasLayer
|
||||
{
|
||||
[Export] public string NextAction = "ui_accept";
|
||||
[Export] public string SkipAction = "ui_cancel";
|
||||
|
||||
|
||||
Control balloon;
|
||||
RichTextLabel characterLabel;
|
||||
RichTextLabel dialogueLabel;
|
||||
VBoxContainer responsesMenu;
|
||||
|
||||
Resource resource;
|
||||
Array<Variant> temporaryGameStates = new Array<Variant>();
|
||||
bool isWaitingForInput = false;
|
||||
bool willHideBalloon = false;
|
||||
|
||||
DialogueLine dialogueLine;
|
||||
DialogueLine DialogueLine
|
||||
{
|
||||
get => dialogueLine;
|
||||
set
|
||||
{
|
||||
isWaitingForInput = false;
|
||||
balloon.FocusMode = Control.FocusModeEnum.All;
|
||||
balloon.GrabFocus();
|
||||
|
||||
if (value == null)
|
||||
{
|
||||
QueueFree();
|
||||
return;
|
||||
}
|
||||
|
||||
dialogueLine = value;
|
||||
UpdateDialogue();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
balloon = GetNode<Control>("%Balloon");
|
||||
characterLabel = GetNode<RichTextLabel>("%CharacterLabel");
|
||||
dialogueLabel = GetNode<RichTextLabel>("%DialogueLabel");
|
||||
responsesMenu = GetNode<VBoxContainer>("%ResponsesMenu");
|
||||
|
||||
balloon.Hide();
|
||||
|
||||
balloon.GuiInput += (@event) =>
|
||||
{
|
||||
if ((bool)dialogueLabel.Get("is_typing"))
|
||||
{
|
||||
bool mouseWasClicked = @event is InputEventMouseButton && (@event as InputEventMouseButton).ButtonIndex == MouseButton.Left && @event.IsPressed();
|
||||
bool skipButtonWasPressed = @event.IsActionPressed(SkipAction);
|
||||
if (mouseWasClicked || skipButtonWasPressed)
|
||||
{
|
||||
GetViewport().SetInputAsHandled();
|
||||
dialogueLabel.Call("skip_typing");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!isWaitingForInput)
|
||||
return;
|
||||
if (dialogueLine.Responses.Count > 0)
|
||||
return;
|
||||
|
||||
GetViewport().SetInputAsHandled();
|
||||
|
||||
if (@event is InputEventMouseButton && @event.IsPressed() && (@event as InputEventMouseButton).ButtonIndex == MouseButton.Left)
|
||||
{
|
||||
Next(dialogueLine.NextId);
|
||||
}
|
||||
else if (@event.IsActionPressed(NextAction) && GetViewport().GuiGetFocusOwner() == balloon)
|
||||
{
|
||||
Next(dialogueLine.NextId);
|
||||
}
|
||||
};
|
||||
|
||||
if (string.IsNullOrEmpty((string)responsesMenu.Get("next_action")))
|
||||
{
|
||||
responsesMenu.Set("next_action", NextAction);
|
||||
}
|
||||
responsesMenu.Connect("response_selected", Callable.From((DialogueResponse response) =>
|
||||
{
|
||||
Next(response.NextId);
|
||||
}));
|
||||
|
||||
DialogueManager.Mutated += OnMutated;
|
||||
}
|
||||
|
||||
|
||||
public override void _ExitTree()
|
||||
{
|
||||
DialogueManager.Mutated -= OnMutated;
|
||||
}
|
||||
|
||||
|
||||
public override void _UnhandledInput(InputEvent @event)
|
||||
{
|
||||
// Only the balloon is allowed to handle input while it's showing
|
||||
GetViewport().SetInputAsHandled();
|
||||
}
|
||||
|
||||
public async void Start(Resource dialogueResource, string title, Array<Variant> extraGameStates = null)
|
||||
{
|
||||
temporaryGameStates = extraGameStates ?? new Array<Variant>();
|
||||
isWaitingForInput = false;
|
||||
resource = dialogueResource;
|
||||
|
||||
DialogueLine = await DialogueManager.GetNextDialogueLine(resource, title, temporaryGameStates);
|
||||
}
|
||||
|
||||
|
||||
public async void Next(string nextId)
|
||||
{
|
||||
DialogueLine = await DialogueManager.GetNextDialogueLine(resource, nextId, temporaryGameStates);
|
||||
}
|
||||
|
||||
|
||||
#region Helpers
|
||||
|
||||
|
||||
private async void UpdateDialogue()
|
||||
{
|
||||
if (!IsNodeReady())
|
||||
{
|
||||
await ToSignal(this, SignalName.Ready);
|
||||
}
|
||||
|
||||
// Set up the character name
|
||||
characterLabel.Visible = !string.IsNullOrEmpty(dialogueLine.Character);
|
||||
characterLabel.Text = Tr(dialogueLine.Character, "dialogue");
|
||||
|
||||
// Set up the dialogue
|
||||
dialogueLabel.Hide();
|
||||
dialogueLabel.Set("dialogue_line", dialogueLine);
|
||||
|
||||
// Set up the responses
|
||||
responsesMenu.Hide();
|
||||
responsesMenu.Set("responses", dialogueLine.Responses);
|
||||
|
||||
// Type out the text
|
||||
balloon.Show();
|
||||
willHideBalloon = false;
|
||||
dialogueLabel.Show();
|
||||
if (!string.IsNullOrEmpty(dialogueLine.Text))
|
||||
{
|
||||
dialogueLabel.Call("type_out");
|
||||
await ToSignal(dialogueLabel, "finished_typing");
|
||||
}
|
||||
|
||||
// Wait for input
|
||||
if (dialogueLine.Responses.Count > 0)
|
||||
{
|
||||
balloon.FocusMode = Control.FocusModeEnum.None;
|
||||
responsesMenu.Show();
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(dialogueLine.Time))
|
||||
{
|
||||
float time = 0f;
|
||||
if (!float.TryParse(dialogueLine.Time, out time))
|
||||
{
|
||||
time = dialogueLine.Text.Length * 0.02f;
|
||||
}
|
||||
await ToSignal(GetTree().CreateTimer(time), "timeout");
|
||||
Next(dialogueLine.NextId);
|
||||
}
|
||||
else
|
||||
{
|
||||
isWaitingForInput = true;
|
||||
balloon.FocusMode = Control.FocusModeEnum.All;
|
||||
balloon.GrabFocus();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region signals
|
||||
|
||||
|
||||
private void OnMutated(Dictionary _mutation)
|
||||
{
|
||||
isWaitingForInput = false;
|
||||
willHideBalloon = true;
|
||||
GetTree().CreateTimer(0.1f).Timeout += () =>
|
||||
{
|
||||
if (willHideBalloon)
|
||||
{
|
||||
willHideBalloon = false;
|
||||
balloon.Hide();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
1
Zennysoft.Game.Ma/src/ui/dialogue/DialogueBalloon.cs.uid
Normal file
1
Zennysoft.Game.Ma/src/ui/dialogue/DialogueBalloon.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://c3iswacrgya7e
|
||||
201
Zennysoft.Game.Ma/src/ui/dialogue/DialogueBalloon.tscn
Normal file
201
Zennysoft.Game.Ma/src/ui/dialogue/DialogueBalloon.tscn
Normal file
@@ -0,0 +1,201 @@
|
||||
[gd_scene load_steps=20 format=3 uid="uid://drrynjlwqt8wi"]
|
||||
|
||||
[ext_resource type="Script" 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="Script" path="res://addons/dialogue_manager/dialogue_reponses_menu.gd" id="3_yiii3"]
|
||||
[ext_resource type="FontFile" uid="uid://bohbd123672ea" path="res://src/ui/fonts/FT88-Italic.ttf" id="5_2dxvx"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_spyqn"]
|
||||
bg_color = Color(0, 0, 0, 0)
|
||||
border_width_left = 3
|
||||
border_width_top = 3
|
||||
border_width_right = 3
|
||||
border_width_bottom = 3
|
||||
border_color = Color(0.329412, 0.329412, 0.329412, 1)
|
||||
corner_radius_top_left = 5
|
||||
corner_radius_top_right = 5
|
||||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ri4m3"]
|
||||
bg_color = Color(0.121569, 0.121569, 0.121569, 0)
|
||||
corner_radius_top_left = 5
|
||||
corner_radius_top_right = 5
|
||||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_e0njw"]
|
||||
content_margin_left = 5.0
|
||||
content_margin_top = 5.0
|
||||
content_margin_right = 5.0
|
||||
content_margin_bottom = 5.0
|
||||
bg_color = Color(0, 0, 0, 0)
|
||||
border_color = Color(0.6, 0.6, 0.6, 1)
|
||||
corner_radius_top_left = 5
|
||||
corner_radius_top_right = 5
|
||||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
expand_margin_left = 5.0
|
||||
expand_margin_top = 5.0
|
||||
expand_margin_right = 5.0
|
||||
expand_margin_bottom = 5.0
|
||||
shadow_color = Color(0, 0, 0, 0.141176)
|
||||
shadow_size = 10
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_uy0d5"]
|
||||
bg_color = Color(0.277528, 0.277528, 0.277528, 0.384314)
|
||||
border_width_left = 3
|
||||
border_width_top = 3
|
||||
border_width_right = 3
|
||||
border_width_bottom = 3
|
||||
border_color = Color(0.741176, 0.8, 0.737255, 0)
|
||||
border_blend = true
|
||||
corner_radius_top_left = 5
|
||||
corner_radius_top_right = 5
|
||||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
|
||||
[sub_resource type="Theme" id="Theme_qq3yp"]
|
||||
default_font = ExtResource("2_c4c1f")
|
||||
default_font_size = 34
|
||||
Button/styles/disabled = SubResource("StyleBoxFlat_spyqn")
|
||||
Button/styles/focus = SubResource("StyleBoxFlat_ri4m3")
|
||||
Button/styles/hover = null
|
||||
Button/styles/normal = SubResource("StyleBoxFlat_e0njw")
|
||||
MarginContainer/constants/margin_bottom = 15
|
||||
MarginContainer/constants/margin_left = 30
|
||||
MarginContainer/constants/margin_right = 30
|
||||
MarginContainer/constants/margin_top = 15
|
||||
Panel/styles/panel = SubResource("StyleBoxFlat_uy0d5")
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_8reha"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_cb5sp"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_0trte"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_yxgtq"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_vtj1a"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_c2c5i"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_wv0ko"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_dboi3"]
|
||||
|
||||
[node name="DialogueBalloon" type="CanvasLayer"]
|
||||
process_mode = 3
|
||||
layer = 100
|
||||
script = ExtResource("1_okfmu")
|
||||
NextAction = "ui_cancel"
|
||||
SkipAction = "ui_accept"
|
||||
|
||||
[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"]
|
||||
custom_minimum_size = Vector2(1000, 300)
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="Dialogue" type="AspectRatioContainer" parent="Balloon/Panel"]
|
||||
custom_minimum_size = Vector2(500, 250)
|
||||
layout_mode = 1
|
||||
anchors_preset = 12
|
||||
anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_top = -301.0
|
||||
offset_bottom = -25.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
size_flags_vertical = 3
|
||||
alignment_vertical = 2
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="Balloon/Panel/Dialogue"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 10
|
||||
|
||||
[node name="CharacterLabel" type="RichTextLabel" parent="Balloon/Panel/Dialogue/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
modulate = Color(1, 1, 1, 0.501961)
|
||||
custom_minimum_size = Vector2(800, 60)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 10
|
||||
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_styles/fill = SubResource("StyleBoxEmpty_8reha")
|
||||
theme_override_styles/background = SubResource("StyleBoxEmpty_cb5sp")
|
||||
theme_override_styles/focus = SubResource("StyleBoxEmpty_0trte")
|
||||
theme_override_styles/normal = SubResource("StyleBoxEmpty_yxgtq")
|
||||
bbcode_enabled = true
|
||||
text = "Character"
|
||||
fit_content = true
|
||||
scroll_active = false
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="DialogueLabel" parent="Balloon/Panel/Dialogue/VBoxContainer" instance=ExtResource("2_jm6sr")]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(800, 200)
|
||||
layout_mode = 2
|
||||
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_styles/fill = SubResource("StyleBoxEmpty_vtj1a")
|
||||
theme_override_styles/background = SubResource("StyleBoxEmpty_c2c5i")
|
||||
theme_override_styles/focus = SubResource("StyleBoxEmpty_wv0ko")
|
||||
theme_override_styles/normal = SubResource("StyleBoxEmpty_dboi3")
|
||||
text = "I do not know thee but I perceive thine sorrows vividly,
|
||||
for I am embraced by their brethren."
|
||||
skip_action = &"ui_accept"
|
||||
|
||||
[node name="CenterContainer" type="CenterContainer" parent="Balloon"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_bottom = -2.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="Responses" type="MarginContainer" parent="Balloon/CenterContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="ResponsesMenu" type="VBoxContainer" parent="Balloon/CenterContainer/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_yiii3")
|
||||
response_template = NodePath("ResponseExample")
|
||||
|
||||
[node name="ResponseExample" type="Button" parent="Balloon/CenterContainer/Responses/ResponsesMenu"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_focus_color = Color(1, 0.94902, 0, 1)
|
||||
theme_override_colors/font_color = Color(0.737255, 0.705882, 0.690196, 1)
|
||||
button_mask = 0
|
||||
text = "Response example"
|
||||
|
||||
[connection signal="gui_input" from="Balloon" to="." method="_on_balloon_gui_input"]
|
||||
[connection signal="response_selected" from="Balloon/CenterContainer/Responses/ResponsesMenu" to="." method="_on_responses_menu_response_selected"]
|
||||
11
Zennysoft.Game.Ma/src/ui/dialogue/ResponseExample.cs
Normal file
11
Zennysoft.Game.Ma/src/ui/dialogue/ResponseExample.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
using Godot;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
public partial class ResponseExample : Button
|
||||
{
|
||||
public override void _Ready()
|
||||
{
|
||||
Set("theme_override_colors/font_color", new Color("bcb4b0"));
|
||||
Set("theme_override_colors/font_focus_color", new Color("fff200"));
|
||||
}
|
||||
}
|
||||
1
Zennysoft.Game.Ma/src/ui/dialogue/ResponseExample.cs.uid
Normal file
1
Zennysoft.Game.Ma/src/ui/dialogue/ResponseExample.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://by6wev1st2yuh
|
||||
78
Zennysoft.Game.Ma/src/ui/floor_clear/FloorClearMenu.cs
Normal file
78
Zennysoft.Game.Ma/src/ui/floor_clear/FloorClearMenu.cs
Normal file
@@ -0,0 +1,78 @@
|
||||
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.SaveAndExitEventHandler SaveAndExit;
|
||||
|
||||
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 SaveAndExitButton { 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 SaveAndExitEventHandler();
|
||||
|
||||
public void OnResolved()
|
||||
{
|
||||
AnimationPlayer.AnimationFinished += AnimationPlayer_AnimationFinished;
|
||||
ContinueButton.Pressed += ContinueButton_Pressed;
|
||||
SaveAndExitButton.Pressed += SaveAndExitButton_Pressed;
|
||||
}
|
||||
|
||||
private void SaveAndExitButton_Pressed()
|
||||
{
|
||||
ContinueButton.Disabled = true;
|
||||
SaveAndExitButton.Disabled = true;
|
||||
EmitSignal(SignalName.SaveAndExit);
|
||||
}
|
||||
|
||||
private void ContinueButton_Pressed()
|
||||
{
|
||||
ContinueButton.Disabled = true;
|
||||
SaveAndExitButton.Disabled = true;
|
||||
EmitSignal(SignalName.GoToNextFloor);
|
||||
}
|
||||
|
||||
private void AnimationPlayer_AnimationFinished(StringName animName)
|
||||
{
|
||||
if (animName == "fade_in")
|
||||
{
|
||||
ContinueButton.Disabled = false;
|
||||
SaveAndExitButton.Disabled = false;
|
||||
ContinueButton.CallDeferred(MethodName.GrabFocus);
|
||||
}
|
||||
if (animName == "fade_out")
|
||||
{
|
||||
CallDeferred(MethodName.ReleaseFocus);
|
||||
EmitSignal(SignalName.TransitionCompleted);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://yytomatekupe
|
||||
139
Zennysoft.Game.Ma/src/ui/floor_clear/FloorClearMenu.tscn
Normal file
139
Zennysoft.Game.Ma/src/ui/floor_clear/FloorClearMenu.tscn
Normal file
@@ -0,0 +1,139 @@
|
||||
[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("../SaveAndExitButton")
|
||||
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="SaveAndExitButton" 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 = "Save and Exit"
|
||||
flat = true
|
||||
BIN
Zennysoft.Game.Ma/src/ui/fonts/FT88-Bold.ttf
Normal file
BIN
Zennysoft.Game.Ma/src/ui/fonts/FT88-Bold.ttf
Normal file
Binary file not shown.
35
Zennysoft.Game.Ma/src/ui/fonts/FT88-Bold.ttf.import
Normal file
35
Zennysoft.Game.Ma/src/ui/fonts/FT88-Bold.ttf.import
Normal file
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://cb41qqmxqurj8"
|
||||
path="res://.godot/imported/FT88-Bold.ttf-8048d5645d94ef79fb5ce0a2440ace77.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/ui/fonts/FT88-Bold.ttf"
|
||||
dest_files=["res://.godot/imported/FT88-Bold.ttf-8048d5645d94ef79fb5ce0a2440ace77.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={}
|
||||
BIN
Zennysoft.Game.Ma/src/ui/fonts/FT88-Italic.ttf
Normal file
BIN
Zennysoft.Game.Ma/src/ui/fonts/FT88-Italic.ttf
Normal file
Binary file not shown.
35
Zennysoft.Game.Ma/src/ui/fonts/FT88-Italic.ttf.import
Normal file
35
Zennysoft.Game.Ma/src/ui/fonts/FT88-Italic.ttf.import
Normal file
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://bohbd123672ea"
|
||||
path="res://.godot/imported/FT88-Italic.ttf-60dc5d8522bbf018628773e8057dd0ca.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/ui/fonts/FT88-Italic.ttf"
|
||||
dest_files=["res://.godot/imported/FT88-Italic.ttf-60dc5d8522bbf018628773e8057dd0ca.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={}
|
||||
BIN
Zennysoft.Game.Ma/src/ui/fonts/FT88-Regular.ttf
Normal file
BIN
Zennysoft.Game.Ma/src/ui/fonts/FT88-Regular.ttf
Normal file
Binary file not shown.
35
Zennysoft.Game.Ma/src/ui/fonts/FT88-Regular.ttf.import
Normal file
35
Zennysoft.Game.Ma/src/ui/fonts/FT88-Regular.ttf.import
Normal file
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://dit3vylt7hmmx"
|
||||
path="res://.godot/imported/FT88-Regular.ttf-0f2e9f2a66e4aa9c15dbcc62a912fdde.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/ui/fonts/FT88-Regular.ttf"
|
||||
dest_files=["res://.godot/imported/FT88-Regular.ttf-0f2e9f2a66e4aa9c15dbcc62a912fdde.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={}
|
||||
BIN
Zennysoft.Game.Ma/src/ui/fonts/FT88-Serif.ttf
Normal file
BIN
Zennysoft.Game.Ma/src/ui/fonts/FT88-Serif.ttf
Normal file
Binary file not shown.
35
Zennysoft.Game.Ma/src/ui/fonts/FT88-Serif.ttf.import
Normal file
35
Zennysoft.Game.Ma/src/ui/fonts/FT88-Serif.ttf.import
Normal file
@@ -0,0 +1,35 @@
|
||||
[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={}
|
||||
BIN
Zennysoft.Game.Ma/src/ui/fonts/Lust_Sans_Regular.otf
Normal file
BIN
Zennysoft.Game.Ma/src/ui/fonts/Lust_Sans_Regular.otf
Normal file
Binary file not shown.
41
Zennysoft.Game.Ma/src/ui/fonts/Lust_Sans_Regular.otf.import
Normal file
41
Zennysoft.Game.Ma/src/ui/fonts/Lust_Sans_Regular.otf.import
Normal file
@@ -0,0 +1,41 @@
|
||||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://dp1k143v7cppw"
|
||||
path="res://.godot/imported/Lust_Sans_Regular.otf-2d4d46b654c743da665ff51feb634231.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/ui/fonts/Lust_Sans_Regular.otf"
|
||||
dest_files=["res://.godot/imported/Lust_Sans_Regular.otf-2d4d46b654c743da665ff51feb634231.fontdata"]
|
||||
|
||||
[params]
|
||||
|
||||
Rendering=null
|
||||
antialiasing=1
|
||||
generate_mipmaps=false
|
||||
disable_embedded_bitmaps=false
|
||||
multichannel_signed_distance_field=false
|
||||
msdf_pixel_range=8
|
||||
msdf_size=48
|
||||
allow_system_fallback=false
|
||||
force_autohinter=false
|
||||
hinting=0
|
||||
subpixel_positioning=4
|
||||
keep_rounding_remainders=true
|
||||
oversampling=0.0
|
||||
Fallbacks=null
|
||||
fallbacks=[]
|
||||
Compress=null
|
||||
compress=false
|
||||
preload=[{
|
||||
"chars": [],
|
||||
"glyphs": [],
|
||||
"name": "New Configuration",
|
||||
"size": Vector2i(16, 0),
|
||||
"variation_embolden": 0.0
|
||||
}]
|
||||
language_support={}
|
||||
script_support={}
|
||||
opentype_features={}
|
||||
BIN
Zennysoft.Game.Ma/src/ui/fonts/Mrs-Eaves-OT-Roman_31443.ttf
Normal file
BIN
Zennysoft.Game.Ma/src/ui/fonts/Mrs-Eaves-OT-Roman_31443.ttf
Normal file
Binary file not shown.
@@ -0,0 +1,41 @@
|
||||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://cm8j5vcdop5x0"
|
||||
path="res://.godot/imported/Mrs-Eaves-OT-Roman_31443.ttf-ec147a64c6637c23f1cc6429203e2cda.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/ui/fonts/Mrs-Eaves-OT-Roman_31443.ttf"
|
||||
dest_files=["res://.godot/imported/Mrs-Eaves-OT-Roman_31443.ttf-ec147a64c6637c23f1cc6429203e2cda.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=[{
|
||||
"chars": [],
|
||||
"glyphs": [],
|
||||
"name": "New Configuration",
|
||||
"size": Vector2i(16, 0),
|
||||
"variation_embolden": 0.0
|
||||
}]
|
||||
language_support={}
|
||||
script_support={}
|
||||
opentype_features={}
|
||||
68
Zennysoft.Game.Ma/src/ui/in_game_ui/InGameUI.cs
Normal file
68
Zennysoft.Game.Ma/src/ui/in_game_ui/InGameUI.cs
Normal file
@@ -0,0 +1,68 @@
|
||||
using Chickensoft.AutoInject;
|
||||
using Chickensoft.GodotNodeInterfaces;
|
||||
using Chickensoft.Introspection;
|
||||
using Godot;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
|
||||
public interface IInGameUI : IControl
|
||||
{
|
||||
public void ShowInventoryScreen();
|
||||
|
||||
public void HideInventoryScreen();
|
||||
|
||||
public void ShowMiniMap();
|
||||
|
||||
public void HideMiniMap();
|
||||
|
||||
event InGameUI.MinimapButtonReleasedEventHandler MinimapButtonReleased;
|
||||
}
|
||||
|
||||
[Meta(typeof(IAutoNode))]
|
||||
public partial class InGameUI : Control, IInGameUI
|
||||
{
|
||||
public override void _Notification(int what) => this.Notify(what);
|
||||
|
||||
[Node] public Control MiniMap { get; set; } = default!;
|
||||
|
||||
[Node] public IInventoryMenu InventoryMenu { get; set; } = default!;
|
||||
|
||||
[Node] public IPlayerInfoUI PlayerInfoUI { get; set; } = default!;
|
||||
|
||||
[Node] public IUseTeleportPrompt UseTeleportPrompt { get; set; } = default!;
|
||||
|
||||
[Signal]
|
||||
public delegate void MinimapButtonReleasedEventHandler();
|
||||
|
||||
public override void _UnhandledInput(InputEvent @event)
|
||||
{
|
||||
if (@event.IsActionReleased(GameInputs.MiniMap))
|
||||
{
|
||||
GD.Print("MiniMap button released");
|
||||
EmitSignal(SignalName.MinimapButtonReleased);
|
||||
}
|
||||
}
|
||||
|
||||
public void HideInventoryScreen()
|
||||
{
|
||||
InventoryMenu.Hide();
|
||||
}
|
||||
|
||||
public void HideMiniMap()
|
||||
{
|
||||
MiniMap.SetProcessUnhandledInput(false);
|
||||
MiniMap.Hide();
|
||||
}
|
||||
|
||||
public void ShowInventoryScreen()
|
||||
{
|
||||
InventoryMenu.RefreshInventoryScreen();
|
||||
InventoryMenu.Show();
|
||||
}
|
||||
|
||||
public void ShowMiniMap()
|
||||
{
|
||||
MiniMap.SetProcessUnhandledInput(true);
|
||||
MiniMap.Show();
|
||||
}
|
||||
}
|
||||
1
Zennysoft.Game.Ma/src/ui/in_game_ui/InGameUI.cs.uid
Normal file
1
Zennysoft.Game.Ma/src/ui/in_game_ui/InGameUI.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://dlq2mkhl4pe7a
|
||||
50
Zennysoft.Game.Ma/src/ui/in_game_ui/InGameUI.tscn
Normal file
50
Zennysoft.Game.Ma/src/ui/in_game_ui/InGameUI.tscn
Normal file
@@ -0,0 +1,50 @@
|
||||
[gd_scene load_steps=7 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"]
|
||||
[ext_resource type="PackedScene" uid="uid://dlj8qdg1c5048" path="res://src/inventory_menu/InventoryMenu.tscn" id="3_4vcdl"]
|
||||
[ext_resource type="PackedScene" uid="uid://dxl8il8f13c2x" path="res://src/ui/player_ui/PlayerInfoUI.tscn" id="4_46s5l"]
|
||||
[ext_resource type="PackedScene" uid="uid://bea2waybmgd6u" path="res://src/ui/teleport_prompt/UseTeleportPrompt.tscn" id="5_h1hgq"]
|
||||
[ext_resource type="Script" uid="uid://dj6oqler47dqf" path="res://src/utils/FpsCounter.cs" id="7_c6o8j"]
|
||||
|
||||
[node name="InGameUI" type="Control"]
|
||||
process_mode = 3
|
||||
custom_minimum_size = Vector2(1280, 960)
|
||||
layout_mode = 3
|
||||
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
|
||||
script = ExtResource("1_sc13i")
|
||||
|
||||
[node name="PlayerInfoUI" parent="." instance=ExtResource("4_46s5l")]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(1024, 768)
|
||||
layout_mode = 1
|
||||
|
||||
[node name="MiniMap" parent="." instance=ExtResource("2_6sfje")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
|
||||
[node name="InventoryMenu" parent="." instance=ExtResource("3_4vcdl")]
|
||||
unique_name_in_owner = true
|
||||
process_mode = 3
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
|
||||
[node name="UseTeleportPrompt" parent="." instance=ExtResource("5_h1hgq")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 1
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_right = 0.021
|
||||
anchor_bottom = 0.021
|
||||
offset_right = -0.320004
|
||||
offset_bottom = 0.319998
|
||||
script = ExtResource("7_c6o8j")
|
||||
61
Zennysoft.Game.Ma/src/ui/in_game_ui/UseTeleportPrompt.cs
Normal file
61
Zennysoft.Game.Ma/src/ui/in_game_ui/UseTeleportPrompt.cs
Normal file
@@ -0,0 +1,61 @@
|
||||
using Chickensoft.AutoInject;
|
||||
using Chickensoft.GodotNodeInterfaces;
|
||||
using Chickensoft.Introspection;
|
||||
using Godot;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
|
||||
public interface IUseTeleportPrompt : IControl
|
||||
{
|
||||
event UseTeleportPrompt.TeleportToNextFloorEventHandler TeleportToNextFloor;
|
||||
event UseTeleportPrompt.CloseTeleportPromptEventHandler CloseTeleportPrompt;
|
||||
|
||||
public void FadeIn();
|
||||
|
||||
public void FadeOut();
|
||||
}
|
||||
|
||||
[Meta(typeof(IAutoNode))]
|
||||
public partial class UseTeleportPrompt : Control, IUseTeleportPrompt
|
||||
{
|
||||
public override void _Notification(int what) => this.Notify(what);
|
||||
|
||||
[Signal]
|
||||
public delegate void TeleportToNextFloorEventHandler();
|
||||
[Signal]
|
||||
public delegate void CloseTeleportPromptEventHandler();
|
||||
|
||||
[Node] public Button YesButton { get; set; } = default!;
|
||||
|
||||
[Node] public Button NoButton { get; set; } = default!;
|
||||
|
||||
[Node] public AnimationPlayer AnimationPlayer { get; set; } = default!;
|
||||
|
||||
public void OnResolved()
|
||||
{
|
||||
AnimationPlayer.AnimationFinished += AnimationPlayer_AnimationFinished;
|
||||
YesButton.Pressed += YesButton_Pressed;
|
||||
NoButton.Pressed += NoButton_Pressed;
|
||||
}
|
||||
|
||||
public void FadeIn() => AnimationPlayer.Play("fade_in");
|
||||
public void FadeOut() => AnimationPlayer.Play("fade_out");
|
||||
|
||||
private void NoButton_Pressed()
|
||||
{
|
||||
EmitSignal(SignalName.CloseTeleportPrompt);
|
||||
}
|
||||
|
||||
private void YesButton_Pressed()
|
||||
{
|
||||
EmitSignal(SignalName.TeleportToNextFloor);
|
||||
}
|
||||
|
||||
private void AnimationPlayer_AnimationFinished(StringName animName)
|
||||
{
|
||||
if (animName == "fade_in")
|
||||
YesButton.CallDeferred(MethodName.GrabFocus);
|
||||
if (animName == "fade_out")
|
||||
CallDeferred(MethodName.ReleaseFocus);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://dvn7g207w5jaj
|
||||
8
Zennysoft.Game.Ma/src/ui/label_settings/HeadingFont.tres
Normal file
8
Zennysoft.Game.Ma/src/ui/label_settings/HeadingFont.tres
Normal file
@@ -0,0 +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"]
|
||||
|
||||
[resource]
|
||||
font = ExtResource("1_olalj")
|
||||
font_size = 48
|
||||
font_color = Color(0.737255, 0.705882, 0.690196, 1)
|
||||
@@ -0,0 +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"]
|
||||
|
||||
[resource]
|
||||
font = ExtResource("1_amsqn")
|
||||
font_size = 48
|
||||
font_color = Color(0.439216, 0.415686, 0.407843, 1)
|
||||
@@ -0,0 +1,8 @@
|
||||
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://bqdq5r46uduvd"]
|
||||
|
||||
[ext_resource type="FontFile" uid="uid://dit3vylt7hmmx" path="res://src/ui/fonts/FT88-Regular.ttf" id="1_gld51"]
|
||||
|
||||
[resource]
|
||||
font = ExtResource("1_gld51")
|
||||
font_size = 24
|
||||
font_color = Color(0.737255, 0.705882, 0.690196, 1)
|
||||
@@ -0,0 +1,8 @@
|
||||
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://ca1q6yu8blwxf"]
|
||||
|
||||
[ext_resource type="FontFile" uid="uid://cb41qqmxqurj8" path="res://src/ui/fonts/FT88-Bold.ttf" id="1_v70mx"]
|
||||
|
||||
[resource]
|
||||
font = ExtResource("1_v70mx")
|
||||
font_size = 32
|
||||
font_color = Color(0.737255, 0.705882, 0.690196, 1)
|
||||
@@ -0,0 +1,8 @@
|
||||
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://ckvxvx2tiwttt"]
|
||||
|
||||
[ext_resource type="FontFile" uid="uid://cb41qqmxqurj8" path="res://src/ui/fonts/FT88-Bold.ttf" id="1_roceg"]
|
||||
|
||||
[resource]
|
||||
font = ExtResource("1_roceg")
|
||||
font_size = 36
|
||||
font_color = Color(1, 0.94902, 0, 1)
|
||||
@@ -0,0 +1,8 @@
|
||||
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://cuuo43x72xcsc"]
|
||||
|
||||
[ext_resource type="FontFile" uid="uid://cb41qqmxqurj8" path="res://src/ui/fonts/FT88-Bold.ttf" id="1_4xbcf"]
|
||||
|
||||
[resource]
|
||||
font = ExtResource("1_4xbcf")
|
||||
font_size = 32
|
||||
font_color = Color(0.737255, 0.705882, 0.690196, 1)
|
||||
@@ -0,0 +1,8 @@
|
||||
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://ur3wpe2kp2j2"]
|
||||
|
||||
[ext_resource type="FontFile" uid="uid://cb41qqmxqurj8" path="res://src/ui/fonts/FT88-Bold.ttf" id="1_t2ic4"]
|
||||
|
||||
[resource]
|
||||
font = ExtResource("1_t2ic4")
|
||||
font_size = 36
|
||||
font_color = Color(0, 0.682353, 0.937255, 1)
|
||||
@@ -0,0 +1,8 @@
|
||||
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://c4wbba5mo7qcp"]
|
||||
|
||||
[ext_resource type="FontFile" uid="uid://bohbd123672ea" path="res://src/ui/fonts/FT88-Italic.ttf" id="1_ofouc"]
|
||||
|
||||
[resource]
|
||||
font = ExtResource("1_ofouc")
|
||||
font_size = 36
|
||||
font_color = Color(1, 0.94902, 0, 1)
|
||||
@@ -0,0 +1,8 @@
|
||||
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://b3jrpf2sdtsqo"]
|
||||
|
||||
[ext_resource type="FontFile" uid="uid://bohbd123672ea" path="res://src/ui/fonts/FT88-Italic.ttf" id="1_usib5"]
|
||||
|
||||
[resource]
|
||||
font = ExtResource("1_usib5")
|
||||
font_size = 36
|
||||
font_color = Color(0, 0.682353, 0.937255, 1)
|
||||
@@ -0,0 +1,8 @@
|
||||
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://dupifadnagodp"]
|
||||
|
||||
[ext_resource type="FontFile" uid="uid://dit3vylt7hmmx" path="res://src/ui/fonts/FT88-Regular.ttf" id="1_u174r"]
|
||||
|
||||
[resource]
|
||||
font = ExtResource("1_u174r")
|
||||
font_size = 32
|
||||
font_color = Color(0.737255, 0.705882, 0.690196, 1)
|
||||
10
Zennysoft.Game.Ma/src/ui/label_settings/TitleFont.tres
Normal file
10
Zennysoft.Game.Ma/src/ui/label_settings/TitleFont.tres
Normal file
@@ -0,0 +1,10 @@
|
||||
[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"]
|
||||
|
||||
[resource]
|
||||
font = ExtResource("1_kbo40")
|
||||
font_size = 128
|
||||
font_color = Color(0.737255, 0.705882, 0.690196, 1)
|
||||
shadow_size = 0
|
||||
shadow_offset = Vector2(0, 0)
|
||||
83
Zennysoft.Game.Ma/src/ui/label_settings/UISandbox.tscn
Normal file
83
Zennysoft.Game.Ma/src/ui/label_settings/UISandbox.tscn
Normal file
@@ -0,0 +1,83 @@
|
||||
[gd_scene load_steps=9 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"]
|
||||
[ext_resource type="LabelSettings" uid="uid://dupifadnagodp" path="res://src/ui/label_settings/MainTextRegular.tres" id="3_vgwwa"]
|
||||
[ext_resource type="LabelSettings" uid="uid://dw0lfsckex1yx" path="res://src/ui/label_settings/HeadingFontUnselected.tres" id="3_wb0jr"]
|
||||
[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"]
|
||||
|
||||
[node name="UISandbox" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -5.0
|
||||
offset_right = -5.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="ColorRect" 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="MarginContainer" type="MarginContainer" parent="."]
|
||||
layout_mode = 0
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
theme_override_constants/margin_left = 40
|
||||
theme_override_constants/margin_top = 40
|
||||
theme_override_constants/margin_right = 40
|
||||
theme_override_constants/margin_bottom = 40
|
||||
|
||||
[node name="HFlowContainer" type="VBoxContainer" parent="MarginContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="MainTitleFont" type="Label" parent="MarginContainer/HFlowContainer"]
|
||||
layout_mode = 2
|
||||
text = "MAIN TITLE FONT"
|
||||
label_settings = ExtResource("1_lt2oc")
|
||||
|
||||
[node name="HeadingFont" type="Label" parent="MarginContainer/HFlowContainer"]
|
||||
layout_mode = 2
|
||||
text = "HEADING FONT - STANDARD + SELECTED"
|
||||
label_settings = ExtResource("2_6orqu")
|
||||
|
||||
[node name="Heading Font (Unselected)" type="Label" parent="MarginContainer/HFlowContainer"]
|
||||
layout_mode = 2
|
||||
text = "HEADING FONT - UNSELECTED (50%)"
|
||||
label_settings = ExtResource("3_wb0jr")
|
||||
|
||||
[node name="MainTextRegular" type="Label" parent="MarginContainer/HFlowContainer"]
|
||||
layout_mode = 2
|
||||
text = "Main Text Font - Regular"
|
||||
label_settings = ExtResource("3_vgwwa")
|
||||
|
||||
[node name="MainTextBold" type="Label" parent="MarginContainer/HFlowContainer"]
|
||||
layout_mode = 2
|
||||
text = "Main Text Font - Bold"
|
||||
label_settings = ExtResource("4_vds7k")
|
||||
|
||||
[node name="MainTextItalic" type="Label" parent="MarginContainer/HFlowContainer"]
|
||||
layout_mode = 2
|
||||
text = "Main Text Font - Italic
|
||||
"
|
||||
label_settings = ExtResource("6_8ni0v")
|
||||
|
||||
[node name="MainTextItalicEquipped" type="Label" parent="MarginContainer/HFlowContainer"]
|
||||
layout_mode = 2
|
||||
text = "Main Text Font - Italic
|
||||
"
|
||||
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")
|
||||
45
Zennysoft.Game.Ma/src/ui/pause_menu/PauseMenu.cs
Normal file
45
Zennysoft.Game.Ma/src/ui/pause_menu/PauseMenu.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
using Chickensoft.AutoInject;
|
||||
using Chickensoft.GodotNodeInterfaces;
|
||||
using Chickensoft.Introspection;
|
||||
using Godot;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
public interface IPauseMenu : IControl
|
||||
{
|
||||
void FadeIn();
|
||||
void FadeOut();
|
||||
event PauseMenu.UnpauseButtonPressedEventHandler UnpauseButtonPressed;
|
||||
event PauseMenu.TransitionCompletedEventHandler TransitionCompleted;
|
||||
}
|
||||
|
||||
[Meta(typeof(IAutoNode))]
|
||||
public partial class PauseMenu : Control, IPauseMenu
|
||||
{
|
||||
public override void _Notification(int what) => this.Notify(what);
|
||||
|
||||
[Signal]
|
||||
public delegate void TransitionCompletedEventHandler();
|
||||
[Signal]
|
||||
public delegate void UnpauseButtonPressedEventHandler();
|
||||
|
||||
[Node] public IAnimationPlayer AnimationPlayer { get; set; } = default!;
|
||||
|
||||
public void OnResolved()
|
||||
{
|
||||
AnimationPlayer.AnimationFinished += OnAnimationFinished;
|
||||
}
|
||||
|
||||
public void FadeIn() => AnimationPlayer.Play("fade_in");
|
||||
|
||||
public void FadeOut() => AnimationPlayer.Play("fade_out");
|
||||
|
||||
public override void _UnhandledInput(InputEvent @event)
|
||||
{
|
||||
if (@event.IsActionPressed(GameInputs.Pause))
|
||||
EmitSignal(SignalName.UnpauseButtonPressed);
|
||||
}
|
||||
|
||||
public void OnAnimationFinished(StringName name)
|
||||
{
|
||||
}
|
||||
}
|
||||
1
Zennysoft.Game.Ma/src/ui/pause_menu/PauseMenu.cs.uid
Normal file
1
Zennysoft.Game.Ma/src/ui/pause_menu/PauseMenu.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cbal5oeaha4nx
|
||||
79
Zennysoft.Game.Ma/src/ui/pause_menu/PauseMenu.tscn
Normal file
79
Zennysoft.Game.Ma/src/ui/pause_menu/PauseMenu.tscn
Normal file
@@ -0,0 +1,79 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://blbqgw3wosc1w"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ccrq3"]
|
||||
resource_name = "fade_out"
|
||||
length = 0.5
|
||||
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, 0.3),
|
||||
"transitions": PackedFloat32Array(1, 7.7),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_bium7"]
|
||||
resource_name = "fade_in"
|
||||
length = 0.3
|
||||
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, 0.3),
|
||||
"transitions": PackedFloat32Array(1, 7.7),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_f1eqn"]
|
||||
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)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_pmp7u"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_f1eqn"),
|
||||
"fade_in": SubResource("Animation_bium7"),
|
||||
"fade_out": SubResource("Animation_ccrq3")
|
||||
}
|
||||
|
||||
[node name="PauseMenu" 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
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_pmp7u")
|
||||
}
|
||||
|
||||
[node name="ColorRect" 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, 0, 0, 1)
|
||||
90
Zennysoft.Game.Ma/src/ui/player_ui/PlayerInfoUI.cs
Normal file
90
Zennysoft.Game.Ma/src/ui/player_ui/PlayerInfoUI.cs
Normal file
@@ -0,0 +1,90 @@
|
||||
using Chickensoft.AutoInject;
|
||||
using Chickensoft.GodotNodeInterfaces;
|
||||
using Chickensoft.Introspection;
|
||||
using Godot;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
|
||||
public interface IPlayerInfoUI : IControl
|
||||
{
|
||||
public void DisplayMessage(string message);
|
||||
}
|
||||
|
||||
[Meta(typeof(IAutoNode))]
|
||||
public partial class PlayerInfoUI : Control, IPlayerInfoUI
|
||||
{
|
||||
public override void _Notification(int what) => this.Notify(what);
|
||||
|
||||
private LabelSettings _labelSettings { get; set; }
|
||||
|
||||
#region Nodes
|
||||
[Node] public VBoxContainer PlayerInfo { get; set; } = default!;
|
||||
|
||||
[Node] public Label LevelNumber { get; set; } = default!;
|
||||
|
||||
[Node] public Label HPNumber { get; set; } = default!;
|
||||
|
||||
[Node] public Label VTNumber { get; set; } = default!;
|
||||
#endregion
|
||||
|
||||
[Dependency] public IPlayer Player => this.DependOn<IPlayer>();
|
||||
|
||||
public void OnResolved()
|
||||
{
|
||||
_labelSettings = GD.Load<LabelSettings>("res://src/ui/label_settings/InventoryFullAlertLabelSetting.tres");
|
||||
Player.Stats.CurrentHP.Sync += CurrentHP_Sync;
|
||||
Player.Stats.MaximumHP.Sync += MaximumHP_Sync;
|
||||
|
||||
Player.Stats.CurrentVT.Sync += CurrentVT_Sync;
|
||||
Player.Stats.MaximumVT.Sync += MaximumVT_Sync;
|
||||
|
||||
Player.Stats.CurrentLevel.Sync += CurrentLevel_Sync;
|
||||
}
|
||||
|
||||
private void CurrentLevel_Sync(int obj)
|
||||
{
|
||||
LevelNumber.Text = $"{obj}";
|
||||
}
|
||||
|
||||
private void MaximumVT_Sync(int obj)
|
||||
{
|
||||
VTNumber.Text = $"{Player.Stats.CurrentVT.Value}/{obj}";
|
||||
}
|
||||
|
||||
private void CurrentVT_Sync(int obj)
|
||||
{
|
||||
VTNumber.Text = $"{obj}/{Player.Stats.MaximumVT.Value}";
|
||||
}
|
||||
|
||||
private void MaximumHP_Sync(int obj)
|
||||
{
|
||||
HPNumber.Text = $"{Player.Stats.CurrentHP.Value}/{obj}";
|
||||
}
|
||||
|
||||
private void CurrentHP_Sync(int obj)
|
||||
{
|
||||
HPNumber.Text = $"{obj}/{Player.Stats.MaximumHP.Value}";
|
||||
}
|
||||
|
||||
public async void DisplayInventoryFullMessage(string rejectedItemName)
|
||||
{
|
||||
var newLabel = new Label() { Text = $"Could not pick up {rejectedItemName}.", LabelSettings = _labelSettings };
|
||||
PlayerInfo.AddChild(newLabel);
|
||||
|
||||
GetTree().CreateTimer(3f).Timeout += () =>
|
||||
{
|
||||
PlayerInfo.RemoveChild(newLabel);
|
||||
};
|
||||
}
|
||||
|
||||
public async void DisplayMessage(string message)
|
||||
{
|
||||
var newLabel = new Label() { Text = message, LabelSettings = _labelSettings };
|
||||
PlayerInfo.AddChild(newLabel);
|
||||
|
||||
GetTree().CreateTimer(3f).Timeout += () =>
|
||||
{
|
||||
PlayerInfo.RemoveChild(newLabel);
|
||||
};
|
||||
}
|
||||
}
|
||||
1
Zennysoft.Game.Ma/src/ui/player_ui/PlayerInfoUI.cs.uid
Normal file
1
Zennysoft.Game.Ma/src/ui/player_ui/PlayerInfoUI.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://b65cbirtijlii
|
||||
99
Zennysoft.Game.Ma/src/ui/player_ui/PlayerInfoUI.tscn
Normal file
99
Zennysoft.Game.Ma/src/ui/player_ui/PlayerInfoUI.tscn
Normal file
@@ -0,0 +1,99 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://dxl8il8f13c2x"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://hg2kraa5nrnl" path="res://src/ui/textures/blank level symbol.png" id="1_78qrq"]
|
||||
[ext_resource type="Script" uid="uid://b65cbirtijlii" path="res://src/ui/player_ui/PlayerInfoUI.cs" id="1_d8yyu"]
|
||||
[ext_resource type="LabelSettings" uid="uid://ca1q6yu8blwxf" path="res://src/ui/label_settings/InventoryMainTextBold.tres" id="2_aa7fx"]
|
||||
[ext_resource type="LabelSettings" uid="uid://dupifadnagodp" path="res://src/ui/label_settings/MainTextRegular.tres" id="3_xdjh1"]
|
||||
|
||||
[node name="PlayerInfoUI" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_d8yyu")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 9
|
||||
anchor_bottom = 1.0
|
||||
offset_right = 426.0
|
||||
grow_vertical = 2
|
||||
theme_override_constants/margin_left = 32
|
||||
theme_override_constants/margin_top = 20
|
||||
|
||||
[node name="PlayerInfo" type="VBoxContainer" parent="MarginContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/PlayerInfo"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="CenterContainer" type="CenterContainer" parent="MarginContainer/PlayerInfo/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="MarginContainer/PlayerInfo/HBoxContainer/CenterContainer"]
|
||||
custom_minimum_size = Vector2(128, 128)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
texture = ExtResource("1_78qrq")
|
||||
expand_mode = 1
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="LevelNumber" type="Label" parent="MarginContainer/PlayerInfo/HBoxContainer/CenterContainer"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(80, 80)
|
||||
layout_mode = 2
|
||||
text = "99"
|
||||
label_settings = ExtResource("2_aa7fx")
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="VBox" type="VBoxContainer" parent="MarginContainer/PlayerInfo/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
theme_override_constants/separation = 15
|
||||
|
||||
[node name="HBox" type="HBoxContainer" parent="MarginContainer/PlayerInfo/HBoxContainer/VBox"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="HP" type="Label" parent="MarginContainer/PlayerInfo/HBoxContainer/VBox/HBox"]
|
||||
layout_mode = 2
|
||||
text = "HP: "
|
||||
label_settings = ExtResource("2_aa7fx")
|
||||
|
||||
[node name="ReferenceRect" type="ReferenceRect" parent="MarginContainer/PlayerInfo/HBoxContainer/VBox/HBox"]
|
||||
custom_minimum_size = Vector2(30, 0)
|
||||
layout_mode = 2
|
||||
border_width = 0.0
|
||||
|
||||
[node name="HPNumber" type="Label" parent="MarginContainer/PlayerInfo/HBoxContainer/VBox/HBox"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "222/222"
|
||||
label_settings = ExtResource("3_xdjh1")
|
||||
|
||||
[node name="HBox2" type="HBoxContainer" parent="MarginContainer/PlayerInfo/HBoxContainer/VBox"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="VT" type="Label" parent="MarginContainer/PlayerInfo/HBoxContainer/VBox/HBox2"]
|
||||
layout_mode = 2
|
||||
text = "VT:"
|
||||
label_settings = ExtResource("2_aa7fx")
|
||||
|
||||
[node name="ReferenceRect" type="ReferenceRect" parent="MarginContainer/PlayerInfo/HBoxContainer/VBox/HBox2"]
|
||||
custom_minimum_size = Vector2(30, 0)
|
||||
layout_mode = 2
|
||||
border_width = 0.0
|
||||
|
||||
[node name="VTNumber" type="Label" parent="MarginContainer/PlayerInfo/HBoxContainer/VBox/HBox2"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "444/444"
|
||||
label_settings = ExtResource("3_xdjh1")
|
||||
|
||||
[node name="TextureButton" type="TextureButton" parent="MarginContainer"]
|
||||
layout_mode = 2
|
||||
179
Zennysoft.Game.Ma/src/ui/teleport_prompt/UseTeleportPrompt.tscn
Normal file
179
Zennysoft.Game.Ma/src/ui/teleport_prompt/UseTeleportPrompt.tscn
Normal file
@@ -0,0 +1,179 @@
|
||||
[gd_scene load_steps=14 format=3 uid="uid://bea2waybmgd6u"]
|
||||
|
||||
[ext_resource type="Script" 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"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ahhj2"]
|
||||
|
||||
[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="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 = 0.5
|
||||
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, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0), 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 = 0.5
|
||||
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, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
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.5),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_7x216"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_xrfau"),
|
||||
"fade_in": SubResource("Animation_efhb5"),
|
||||
"fade_out": SubResource("Animation_ibgld")
|
||||
}
|
||||
|
||||
[node name="UseTeleportPrompt" 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_x3wkp")
|
||||
|
||||
[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="MovePrompt" type="Label" parent="CenterContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.737255, 0.705882, 0.690196, 1)
|
||||
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?"
|
||||
|
||||
[node name="YesButton" type="Button" parent="CenterContainer/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("../NoButton")
|
||||
theme_override_colors/font_focus_color = Color(1, 0.94902, 0, 1)
|
||||
theme_override_colors/font_color = Color(0.737255, 0.705882, 0.690196, 1)
|
||||
theme_override_fonts/font = ExtResource("2_i6kb2")
|
||||
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 = "Yes"
|
||||
|
||||
[node name="NoButton" type="Button" parent="CenterContainer/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
focus_neighbor_left = NodePath(".")
|
||||
focus_neighbor_top = NodePath("../YesButton")
|
||||
focus_neighbor_right = NodePath(".")
|
||||
focus_neighbor_bottom = NodePath(".")
|
||||
theme_override_colors/font_focus_color = Color(1, 0.94902, 0, 1)
|
||||
theme_override_colors/font_color = Color(0.737255, 0.705882, 0.690196, 1)
|
||||
theme_override_fonts/font = ExtResource("2_i6kb2")
|
||||
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 = "No"
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_7x216")
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://v0i7rwj05ijp"
|
||||
path="res://.godot/imported/GettyImages-2148610352.jpg-20858bb3a3415a6fd3642a86aed2be9b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/ui/textures/GettyImages-2148610352.jpg"
|
||||
dest_files=["res://.godot/imported/GettyImages-2148610352.jpg-20858bb3a3415a6fd3642a86aed2be9b.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=1
|
||||
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c8tnq16qgjurc"
|
||||
path="res://.godot/imported/INVENTORY-BACKGROUND.png-52bbab9ed91a19d32c4c01f282658810.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/ui/textures/INVENTORY-BACKGROUND.png"
|
||||
dest_files=["res://.godot/imported/INVENTORY-BACKGROUND.png-52bbab9ed91a19d32c4c01f282658810.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=1
|
||||
BIN
Zennysoft.Game.Ma/src/ui/textures/blank level symbol.png
Normal file
BIN
Zennysoft.Game.Ma/src/ui/textures/blank level symbol.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.1 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://hg2kraa5nrnl"
|
||||
path="res://.godot/imported/blank level symbol.png-14e7d3eb360d529d659ec2284ee12ca4.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/ui/textures/blank level symbol.png"
|
||||
dest_files=["res://.godot/imported/blank level symbol.png-14e7d3eb360d529d659ec2284ee12ca4.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=1
|
||||
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://0f0krskc3lfb"
|
||||
path="res://.godot/imported/inventory_background.png-d8cc6b5ec52e3c266040bf16e4b5e553.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/ui/textures/inventory_background.png"
|
||||
dest_files=["res://.godot/imported/inventory_background.png-d8cc6b5ec52e3c266040bf16e4b5e553.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=1
|
||||
Reference in New Issue
Block a user