From 2ebd76edbcebf49af81962b646e1abe24e771d23 Mon Sep 17 00:00:00 2001 From: nyuwaea Date: Tue, 12 May 2026 02:24:42 -0400 Subject: [PATCH 1/3] chore: clean up MapInfoContainer --- prefabs/map_info_container.tscn | 29 ++++- scripts/ui/menu/play/MapInfoContainer.cs | 128 ++++++++++++++--------- 2 files changed, 106 insertions(+), 51 deletions(-) diff --git a/prefabs/map_info_container.tscn b/prefabs/map_info_container.tscn index bbd365d7..04fbcdcf 100644 --- a/prefabs/map_info_container.tscn +++ b/prefabs/map_info_container.tscn @@ -176,7 +176,7 @@ outline_color = Color(0, 0, 0, 1) shadow_size = 4 shadow_color = Color(0, 0, 0, 1) -[node name="MapInfoContainer" type="Panel" unique_id=150923669] +[node name="MapInfoContainer" type="Panel" unique_id=150923669 node_paths=PackedStringArray("info", "dim", "coverBackground", "cover", "infoSubholder", "mainLabel", "extraLabel", "artistLink", "favoriteButton", "videoButton", "videoDialog", "copyButton", "copyDialog", "deleteButton", "actions", "preview", "speedHolder", "speedPresets", "playHolder", "startButton", "leaderboard", "lbScrollContainer", "lbContainer", "lbExpand", "lbHide")] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 @@ -186,6 +186,31 @@ grow_vertical = 2 mouse_filter = 2 theme_override_styles/panel = SubResource("StyleBoxEmpty_svokg") script = ExtResource("1_50xtp") +info = NodePath("Info") +dim = NodePath("Dim") +coverBackground = NodePath("Info/ScrollContainer/Holder/CoverContainer/Background") +cover = NodePath("Info/ScrollContainer/Holder/CoverContainer/Background/Cover") +infoSubholder = NodePath("Info/ScrollContainer/Holder") +mainLabel = NodePath("Info/ScrollContainer/Holder/Subholder/Main") +extraLabel = NodePath("Info/ScrollContainer/Holder/Subholder/Extra") +artistLink = NodePath("Info/ScrollContainer/Holder/CoverContainer/Background/ArtistLink") +favoriteButton = NodePath("Info/ScrollContainer/Holder/Subholder/Buttons/Favorite") +videoButton = NodePath("Info/ScrollContainer/Holder/Subholder/Buttons/Video") +videoDialog = NodePath("Info/ScrollContainer/Holder/Subholder/Buttons/Video/VideoDialog") +copyButton = NodePath("Info/ScrollContainer/Holder/Subholder/Buttons/Copy") +copyDialog = NodePath("Info/ScrollContainer/Holder/Subholder/Buttons/Copy/CopyDialog") +deleteButton = NodePath("Info/ScrollContainer/Holder/Subholder/Buttons/Delete") +actions = NodePath("Actions") +preview = NodePath("Actions/ScrollContainer/Holder/Preview/AspectRatioContainer/FlatPreview") +speedHolder = NodePath("Actions/ScrollContainer/Holder/Speed") +speedPresets = NodePath("Actions/ScrollContainer/Holder/Speed/ScrollContainer/Presets") +playHolder = NodePath("Actions/ScrollContainer/Holder/Play") +startButton = NodePath("Actions/ScrollContainer/Holder/Play/Button") +leaderboard = NodePath("Leaderboard") +lbScrollContainer = NodePath("Leaderboard/ScrollContainer") +lbContainer = NodePath("Leaderboard/ScrollContainer/VBoxContainer") +lbExpand = NodePath("Leaderboard/Expand") +lbHide = NodePath("LeaderboardHide") [node name="Info" type="Panel" parent="." unique_id=1638277412] layout_mode = 1 @@ -314,7 +339,7 @@ text = "[color=ffffff88]{0} horizontal_alignment = 2 vertical_alignment = 2 -[node name="MainLabel" type="RichTextLabel" parent="Info/ScrollContainer/Holder/Subholder" unique_id=394044659] +[node name="Main" type="RichTextLabel" parent="Info/ScrollContainer/Holder/Subholder" unique_id=394044659] layout_mode = 1 anchors_preset = -1 anchor_right = 1.0 diff --git a/scripts/ui/menu/play/MapInfoContainer.cs b/scripts/ui/menu/play/MapInfoContainer.cs index 6e113f07..8f7dbceb 100644 --- a/scripts/ui/menu/play/MapInfoContainer.cs +++ b/scripts/ui/menu/play/MapInfoContainer.cs @@ -12,65 +12,116 @@ public partial class MapInfoContainer : Panel, ISkinnable public Leaderboard Leaderboard = new(); private readonly PackedScene leaderboardScoreTemplate = ResourceLoader.Load("res://prefabs/score_panel.tscn"); + + // Info & main buttons + [ExportCategory("Info")] + + [Export] private Panel info; + + [Export] + private ColorRect dim; + + [Export] private TextureRect coverBackground; + + [Export] private TextureRect cover; + + [Export] private Panel infoSubholder; + + [Export] private RichTextLabel mainLabel; private string mainLabelFormat; + + [Export] private RichTextLabel extraLabel; private string extraLabelFormat; + + [Export] private LinkPopupButton artistLink; private string artistLinkFormat; - private HBoxContainer mapButtonsContainer; + + [Export] private Button favoriteButton; + + [Export] private Button videoButton; + + [Export] private FileDialog videoDialog; + + [Export] private Button copyButton; + + [Export] private FileDialog copyDialog; + + [Export] private Button deleteButton; + // Actions panel + + [ExportCategory("Actions")] + + [Export] private Panel actions; - private Panel previewHolder; - private Panel modesHolder; - private Panel modifiersHolder; + + [Export] + private FlatPreview preview; + + // [Export] + // private Panel previewHolder; + + // [Export] + // private Panel modesHolder; + + // [Export] + // private Panel modifiersHolder; + + [Export] private Panel speedHolder; + + [Export] private HBoxContainer speedPresets; + + [Export] private Panel playHolder; + + [Export] private Button startButton; + // Leaderboard + + [ExportCategory("Leaderboards")] + + [Export] private Panel leaderboard; + + [Export] private ScrollContainer lbScrollContainer; + + [Export] private VBoxContainer lbContainer; + + [Export] private Button lbExpand; + + [Export] private Button lbHide; - private ColorRect dim; + // Misc + private ShaderMaterial outlineMaterial; public override void _Ready() { - info = GetNode("Info"); - - Panel infoHolder = info.GetNode("ScrollContainer").GetNode("Holder"); - - coverBackground = infoHolder.GetNode("CoverContainer").GetNode("Background"); - cover = coverBackground.GetNode("Cover"); - infoSubholder = infoHolder.GetNode("Subholder"); - mainLabel = infoSubholder.GetNode("MainLabel"); mainLabelFormat = mainLabel.Text; - extraLabel = infoSubholder.GetNode("Extra"); extraLabelFormat = extraLabel.Text; - artistLink = coverBackground.GetNode("ArtistLink"); artistLinkFormat = artistLink.Text; - mapButtonsContainer = infoSubholder.GetNode("Buttons"); - favoriteButton = mapButtonsContainer.GetNode