Add formal enemies, remaining formal partners and synthesized UI SFX

- UI SFX v3: procedurally synthesized one-shots (Tools/synth_ui_sfx.py) wired to
  buttons, rewards, errors and red dots via UiSfx, gated by the SFX setting.
- Five formal enemies (Hornlet, Dashlet, Shellhorn, HornCaptain, GreatHorn):
  Hunyuan 50k -> 2000-tri XPbr, DGXA TokenRig, Idle/Walk/Attack, nested per type
  in PrototypeArena; PrototypeBattle.Enemy gains presentation-only Moving/Strikes.
- Formal partners for all ten pets in the arena and portraits, including new
  VineSprite, ThunderLeopard and TideWhale.
- Pipeline fixes: reject local TokenRig fallback, drop loose mesh islands,
  configurable Unity run_script timeout, companion static stage.
- Also includes concurrent work from another tool in this working tree
  (FlameLion, enemy combat FX, challenge mode, home explorer, server updates).
- Resources registered in Doc/ResDesc_*.md; verified on isolated :18081.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
udx
2026-10-21 12:23:55 +08:00
co-authored by Claude Opus 5.5
parent 6c64210331
commit 89e0fa246f
780 changed files with 7117051 additions and 15906 deletions
+95 -3
View File
@@ -2,7 +2,7 @@
"schemaVersion": 1,
"prefabName": "UI_MainHUD",
"prefabPath": "Assets/Bundles/UI/Prefab/UI_MainHUD.prefab",
"description": "HUD 主界面 / candy。参考 Clash of Critters 营地式入口布局,采用项目主题;1080×1920,JSON→Prefab。中央为原创营地插画,G0 资源与训练/教学关进度由 PrototypeGame 存档绑定,功能入口通过 MainHUD.* 事件接入。保留网络状态和重连绑定,无主题切换按钮。",
"description": "HUD 主界面 / candy。参考 Clash of Critters 营地式入口布局,采用项目主题;1080×1920,JSON→Prefab。中央为去掉人物的营地插画,简模探险家在广场走动,点击后才显示随机台词。功能入口通过 MainHUD.* 事件接入。保留网络状态和重连绑定,无主题切换按钮。",
"canvas": {
"canvasScaler": {
"referenceResolution": [
@@ -110,6 +110,94 @@
}
]
},
{
"name": "ExplorerStage",
"parent": "UI_MainHUD",
"active": true,
"rect": {
"anchorMin": [0.12, 0.34],
"anchorMax": [0.88, 0.7],
"offsetMin": [0, 0],
"offsetMax": [0, 0]
},
"components": [
{
"type": "MonoBehaviour",
"typeName": "HotUpdate.UI.HomeExplorerPresenter"
}
]
},
{
"name": "Btn_Explorer",
"parent": "UI_MainHUD",
"active": true,
"rect": {
"anchorMin": [0.5, 0.5],
"anchorMax": [0.5, 0.5],
"pivot": [0.5, 0.5],
"anchoredPosition": [0, -80],
"sizeDelta": [220, 280]
},
"components": [
{
"type": "Image",
"sprite": "ui_panel_content",
"color": "#FFFFFF00",
"raycastTarget": true,
"imageType": "Sliced"
},
{
"type": "Button",
"transition": "ColorTint",
"normalColor": "#FFFFFF",
"highlightedColor": "#FFFFFF",
"pressedColor": "#F2FAFF",
"disabledColor": "#FFFFFF"
}
]
},
{
"name": "Panel_ExplorerTalk",
"parent": "UI_MainHUD",
"active": false,
"rect": {
"anchorMin": [0.5, 0.5],
"anchorMax": [0.5, 0.5],
"pivot": [0.5, 0],
"anchoredPosition": [0, 80],
"sizeDelta": [520, 150]
},
"components": [
{
"type": "Image",
"sprite": "ui_panel_content",
"color": "#FFF8EE",
"raycastTarget": false,
"imageType": "Sliced"
}
]
},
{
"name": "Txt_ExplorerTalk",
"parent": "Panel_ExplorerTalk",
"active": true,
"rect": {
"anchorMin": [0, 0],
"anchorMax": [1, 1],
"offsetMin": [28, 20],
"offsetMax": [-28, -20]
},
"components": [
{
"type": "TextMeshProUGUI",
"text": "",
"fontSize": 32,
"color": "#5A4632",
"alignment": "Center",
"raycastTarget": false
}
]
},
{
"name": "Layout_Top",
"parent": "UI_MainHUD",
@@ -1992,7 +2080,7 @@
{
"name": "Panel_Greeting",
"parent": "Layout_Sides",
"active": true,
"active": false,
"rect": {
"anchorMin": [
0,
@@ -3338,7 +3426,11 @@
"Btn_NavPets",
"Btn_NavHome",
"Btn_NavBattle",
"Btn_NavPinball"
"Btn_NavPinball",
"ExplorerStage",
"Btn_Explorer",
"Panel_ExplorerTalk",
"Txt_ExplorerTalk"
],
"events": [
{
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff