Record original-alignment implementation and traceability checkpoint
Capture current source, content data, tests, asset licenses, and original-specification traceability. Original implementation remains incomplete. The accepted matching UI generation passed 154 suites and 12,253 checks, with eight rendered staff-contract screens reviewed. Latest native Windows and full-original acceptance remain outstanding.
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
class_name SupplyManagementPanel
|
||||
extends VBoxContainer
|
||||
|
||||
const LayerSkin := preload("res://scripts/ui/layer_interface_skin.gd")
|
||||
|
||||
## Read models and commands only. Prices, stock, recipes and delivery progress
|
||||
## belong to Runtime; changing a control never mutates inventory directly.
|
||||
signal status_requested(message: String, success: bool)
|
||||
@@ -11,6 +13,8 @@ const PURCHASE: StringName = &"purchase_supplies"
|
||||
const PRODUCTION: StringName = &"set_kitchen_production"
|
||||
const ITEM_NAMES := {&"ingredient/raw_food": "食材", &"ingredient/basic_meal": "完成料理"}
|
||||
const STATE_NAMES := {
|
||||
&"SUSPENDED": "破壊・摘発による休止",
|
||||
&"RELATED_FACILITY_INACTIVE": "関連施設が未稼働",
|
||||
&"OPEN": "補給待ち", &"RESERVED": "運搬員待ち", &"ASSIGNED": "荷元へ移動",
|
||||
&"PICKING_UP": "積込中", &"DELIVERING": "配送中", &"COMPLETED": "納品済み",
|
||||
&"BLOCKED": "配送停止", &"CANCELLED": "取消済み", &"WORKING": "調理中",
|
||||
@@ -99,7 +103,9 @@ func _ready() -> void:
|
||||
_build_interface()
|
||||
_built = true
|
||||
if _runtime != null:
|
||||
if _runtime.has_signal(&"snapshot_published"):
|
||||
if _runtime.has_signal(&"state_updated"):
|
||||
_runtime.connect(&"state_updated", _on_snapshot_published)
|
||||
elif _runtime.has_signal(&"snapshot_published"):
|
||||
_runtime.connect(&"snapshot_published", _on_snapshot_published)
|
||||
if _runtime.has_signal(&"command_completed"):
|
||||
_runtime.connect(&"command_completed", _on_command_completed)
|
||||
@@ -159,6 +165,7 @@ func _build_interface() -> void:
|
||||
for color_name: StringName in [&"font_color", &"font_pressed_color", &"font_hover_color", &"font_hover_pressed_color", &"font_focus_color"]:
|
||||
production_enabled.add_theme_color_override(color_name, Color("55371e"))
|
||||
production_enabled.add_theme_color_override("font_disabled_color", Color("766650"))
|
||||
LayerSkin.register_toggle_text(production_enabled, LayerSkin.active_layer(self))
|
||||
production_enabled.toggled.connect(_on_production_enabled_changed)
|
||||
kitchen_page.add_child(production_enabled)
|
||||
kitchen_page.add_child(_label("目標在庫 · 完成料理"))
|
||||
@@ -395,7 +402,7 @@ func _on_command_completed(result: Variant) -> void:
|
||||
refresh()
|
||||
|
||||
|
||||
func _on_snapshot_published(_snapshot: Dictionary, _digest: String) -> void:
|
||||
func _on_snapshot_published(_snapshot: Dictionary = {}, _digest: String = "") -> void:
|
||||
if is_visible_in_tree():
|
||||
refresh()
|
||||
|
||||
@@ -519,7 +526,7 @@ func _reasons_text(value: Variant) -> String:
|
||||
|
||||
func _set_result(message: String, success: bool) -> void:
|
||||
result_label.text = message
|
||||
result_label.add_theme_color_override("font_color", Color("397346") if success else Color("a7402e"))
|
||||
LayerSkin.register_status_text(result_label, success, LayerSkin.active_layer(self))
|
||||
status_requested.emit(message, success)
|
||||
|
||||
|
||||
@@ -532,6 +539,7 @@ func _label(value: String, node_name := "") -> Label:
|
||||
label.size_flags_horizontal = Control.SIZE_EXPAND_FILL
|
||||
label.add_theme_font_size_override("font_size", 13)
|
||||
label.add_theme_color_override("font_color", Color("55371e"))
|
||||
LayerSkin.register_text(label, LayerSkin.active_layer(self))
|
||||
return label
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user