diff --git a/manifest.json b/manifest.json index 2621d93..bd0603d 100644 --- a/manifest.json +++ b/manifest.json @@ -8,7 +8,7 @@ "sources": [ "src/*.cs" ], - "depends": [ "core>=1", "interface>=1" ], + "depends": [ "visual_novel_core>=1", "interface>=1" ], "ui": [ { "id": "cooking_workbench", diff --git a/scenes/recipe_item.tscn b/scenes/recipe_item.tscn index 7fdcf20..f3f6a1a 100644 --- a/scenes/recipe_item.tscn +++ b/scenes/recipe_item.tscn @@ -29,10 +29,10 @@ custom_minimum_size = Vector2(100, 30) [node name="TxtName" type="Label" parent="HBox"] size_flags_horizontal = 3 -theme_override_colors/font_color = Color(1, 1, 0, 1) +theme_override_colors/font_color = Color(0.941176, 0.756863, 0.411765, 1) theme_override_font_sizes/font_size = 12 [node name="TxtTime" type="Label" parent="HBox"] custom_minimum_size = Vector2(40, 30) -theme_override_colors/font_color = Color(1, 0, 0, 1) +theme_override_colors/font_color = Color(0.909804, 0.662745, 0.670588, 1) theme_override_font_sizes/font_size = 12 diff --git a/src/ui/workbench/RecipeIconItemBehaviour.cs b/src/ui/workbench/RecipeIconItemBehaviour.cs index 0ae39a0..690a426 100644 --- a/src/ui/workbench/RecipeIconItemBehaviour.cs +++ b/src/ui/workbench/RecipeIconItemBehaviour.cs @@ -1,6 +1,7 @@ using Cthangover.Core.Items; using Cthangover.Core.Settings; using Cthangover.Core.UI; +using Cthangover.Core.UI.Theming; using Cthangover.Core.Utils; using Godot; @@ -15,8 +16,8 @@ namespace Mods.Cooking.Workbench /// public class RecipeIconItemBehaviour : Widget { - private static readonly Color NormalColor = Colors.White; - private static readonly Color NotItemsColor = Colors.Gray; + private static readonly Color NormalColor = UiTokens.InkBright; + private static readonly Color NotItemsColor = UiTokens.Muted; private TextureRect img; private Label txt; @@ -53,8 +54,8 @@ namespace Mods.Cooking.Workbench /// /// Evaluates whether the player's inventory contains enough of the /// required ingredient. Tints the icon and count text to - /// NormalColor (white) when satisfied or NotItemsColor - /// (grey) when insufficient. Called by the parent + /// NormalColor (bright ink) when satisfied or NotItemsColor + /// (muted) when insufficient. Called by the parent /// during state refresh. /// /// true if inventory meets or exceeds the required count. @@ -62,7 +63,7 @@ namespace Mods.Cooking.Workbench { var result = GameData.Instance.Runtime.Inventory.CheckCount(ingredient.Item) >= ingredient.Count; txt.AddThemeColorOverride("font_color", result ? NormalColor : NotItemsColor); - img.Modulate = result ? Colors.White : NotItemsColor; + img.Modulate = result ? UiTokens.White : NotItemsColor; return result; } } diff --git a/src/ui/workbench/RecipeItemBehaviour.cs b/src/ui/workbench/RecipeItemBehaviour.cs index fde1386..d10ea81 100644 --- a/src/ui/workbench/RecipeItemBehaviour.cs +++ b/src/ui/workbench/RecipeItemBehaviour.cs @@ -3,6 +3,7 @@ using Cthangover.Core.Items; using Cthangover.Core.Scenes; using Cthangover.Core.Settings; using Cthangover.Core.UI; +using Cthangover.Core.UI.Theming; using Godot; namespace Mods.Cooking.Workbench @@ -25,9 +26,9 @@ namespace Mods.Cooking.Workbench private Label txtTime; private HBoxContainer recipeContentHbox; - private static readonly Color normalColor = new(1f, 1f, 1f, 1f); - private static readonly Color selectedColor = new(0.8f, 0.8f, 0.8f, 1f); - private static readonly Color disableColor = new(0.5f, 0.5f, 0.5f, 1f); + private static readonly Color normalColor = UiTokens.White; + private static readonly Color selectedColor = UiTokens.Alpha(UiTokens.White, 0.8f); + private static readonly Color disableColor = UiTokens.Muted; private IRecipe recipe; private Node panel; @@ -79,8 +80,8 @@ namespace Mods.Cooking.Workbench /// Refreshes the visual availability state of this recipe. /// Iterates all child widgets, /// calling CheckAndUpdate on each. If any ingredient is missing, - /// tints the name and time labels with disableColor (greyed out); - /// otherwise restores the default yellow/red colour scheme. + /// tints the name and time labels with disableColor (muted); + /// otherwise restores the accent (gold) and danger (red) colour scheme. /// Call after inventory changes or cooking operations. /// public void UpdateState() @@ -98,8 +99,8 @@ namespace Mods.Cooking.Workbench } else { - txtName.AddThemeColorOverride("font_color", Colors.Yellow); - txtTime.AddThemeColorOverride("font_color", Colors.Red); + txtName.AddThemeColorOverride("font_color", UiTokens.AccentBright); + txtTime.AddThemeColorOverride("font_color", UiTokens.DangerText); } } @@ -143,7 +144,7 @@ namespace Mods.Cooking.Workbench { var plus = new Label(); plus.Text = "+"; - plus.AddThemeFontSizeOverride("font_size", 12); + plus.AddThemeFontSizeOverride("font_size", UiTokens.FontBodySmall); plus.VerticalAlignment = VerticalAlignment.Center; recipeContentHbox.AddChild(plus); items.Add(plus); diff --git a/src/ui/workbench/WorkbenchPanel.cs b/src/ui/workbench/WorkbenchPanel.cs index cce117e..fb22cde 100644 --- a/src/ui/workbench/WorkbenchPanel.cs +++ b/src/ui/workbench/WorkbenchPanel.cs @@ -7,6 +7,7 @@ using Cthangover.Core.Items; using Cthangover.Core.Scenes; using Cthangover.Core.Settings; using Cthangover.Core.UI; +using Cthangover.Core.UI.Theming; using Cthangover.Core.UI.Tool; using Cthangover.Core.UI.Inventory; using Godot; @@ -38,7 +39,7 @@ namespace Mods.Cooking.Workbench var leftTitle = GetNode