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