DarkPanel is a PanelContainer-base variation (only a `panel` stylebox); a Button looks up normal/hover/pressed, which don't exist on it, so SystemDock's menu buttons rendered as default gray Godot buttons instead of mock-faithful dark nav buttons. Add a dedicated Button-base DockButton variation (Palette-only colours, dock-dark normal/hover/pressed styleboxes), point system_dock.gd's menu buttons at it, and regenerate the committed game_theme.tres artifact from the builder. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
39 lines
1.2 KiB
GDScript
39 lines
1.2 KiB
GDScript
# client/scripts/theme/theme_keys.gd
|
|
class_name ThemeKeys
|
|
extends RefCounted
|
|
## Type-variation names for game_theme.tres. Scripts set `theme_type_variation`
|
|
## to one of these so a typo is a compile-time symbol error, not a silent miss.
|
|
## §2: presentation.
|
|
|
|
const PRIMARY_CTA := &"PrimaryCTA"
|
|
const TAB := &"Tab"
|
|
const TAB_ACTIVE := &"TabActive"
|
|
const CHIP := &"Chip"
|
|
const DOCK_BUTTON := &"DockButton"
|
|
const ITEM_TILE := &"ItemTile"
|
|
const ITEM_TILE_EMPTY := &"ItemTileEmpty"
|
|
const PARCHMENT_CARD := &"ParchmentCard"
|
|
const PARCHMENT_INSET := &"ParchmentInset"
|
|
const DARK_PANEL := &"DarkPanel"
|
|
|
|
## Font roles (Label type-variations carrying a font, not a stylebox). Kept
|
|
## separate from ALL below, which is stylebox variations + their base type only.
|
|
const HEADING := &"Heading"
|
|
const ACCENT := &"Accent"
|
|
const MONO := &"Mono"
|
|
|
|
## Every variation name + the base Control type it decorates. The builder and the
|
|
## test both iterate this so they can never drift apart.
|
|
const ALL := {
|
|
PRIMARY_CTA: "Button",
|
|
TAB: "Button",
|
|
TAB_ACTIVE: "Button",
|
|
CHIP: "Button",
|
|
DOCK_BUTTON: "Button",
|
|
ITEM_TILE: "PanelContainer",
|
|
ITEM_TILE_EMPTY: "PanelContainer",
|
|
PARCHMENT_CARD: "PanelContainer",
|
|
PARCHMENT_INSET: "PanelContainer",
|
|
DARK_PANEL: "PanelContainer",
|
|
}
|