Add MainHUD gameplay UI, net handshake updates, and server maintenance mode.
Introduce UiManager/MainHUD prefab flow, strengthen GameNet/WsClient, and add AIServer maintenance endpoint support. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,228 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"prefabName": "UI_MainHUD",
|
||||
"prefabPath": "Assets/Bundles/UI/Prefab/UI_MainHUD.prefab",
|
||||
"description": "HUD 层:顶栏状态 + 底部断线重连条。竖屏 1080x1920。运行时绑定 Txt_Status/Txt_Pid/Panel_Reconnect/Txt_Reconnect/Btn_Reconnect。",
|
||||
"canvas": {
|
||||
"canvasScaler": {
|
||||
"referenceResolution": [1080, 1920],
|
||||
"matchWidthOrHeight": 0.5
|
||||
}
|
||||
},
|
||||
"assets": {
|
||||
"sprites": {
|
||||
"ui_panel_header": "Assets/Bundles/UI/Texture/Common/ui_panel_header.png",
|
||||
"toast_bg": "Assets/Bundles/UI/Texture/Common/toast_bg.png",
|
||||
"btn_primary_normal": "Assets/Bundles/UI/Texture/Common/btn_primary_normal.png",
|
||||
"btn_primary_pressed": "Assets/Bundles/UI/Texture/Common/btn_primary_pressed.png",
|
||||
"ico_refresh": "Assets/Bundles/UI/Texture/Common/ico_refresh.png"
|
||||
}
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"name": "UI_MainHUD",
|
||||
"parent": null,
|
||||
"active": true,
|
||||
"rect": {
|
||||
"anchorMin": [0, 0],
|
||||
"anchorMax": [1, 1],
|
||||
"offsetMin": [0, 0],
|
||||
"offsetMax": [0, 0]
|
||||
},
|
||||
"components": [
|
||||
{ "type": "Canvas", "sortingOrder": 100 },
|
||||
{
|
||||
"type": "CanvasScaler",
|
||||
"referenceResolution": [1080, 1920],
|
||||
"matchWidthOrHeight": 0.5
|
||||
},
|
||||
{ "type": "GraphicRaycaster" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Panel_Top",
|
||||
"parent": "UI_MainHUD",
|
||||
"active": true,
|
||||
"rect": {
|
||||
"anchorMin": [0, 1],
|
||||
"anchorMax": [1, 1],
|
||||
"pivot": [0.5, 1],
|
||||
"anchoredPosition": [0, -48],
|
||||
"sizeDelta": [-48, 120]
|
||||
},
|
||||
"components": [
|
||||
{
|
||||
"type": "Image",
|
||||
"sprite": "ui_panel_header",
|
||||
"imageType": "Sliced",
|
||||
"raycastTarget": false,
|
||||
"color": "#FFFFFFFF"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Txt_Status",
|
||||
"parent": "Panel_Top",
|
||||
"active": true,
|
||||
"rect": {
|
||||
"anchorMin": [0, 0],
|
||||
"anchorMax": [1, 1],
|
||||
"offsetMin": [32, 16],
|
||||
"offsetMax": [-32, -40]
|
||||
},
|
||||
"components": [
|
||||
{
|
||||
"type": "TextMeshProUGUI",
|
||||
"text": "连接中…",
|
||||
"fontSize": 30,
|
||||
"alignment": "MidlineLeft",
|
||||
"color": "#5A4632FF",
|
||||
"raycastTarget": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Txt_Pid",
|
||||
"parent": "Panel_Top",
|
||||
"active": true,
|
||||
"rect": {
|
||||
"anchorMin": [0, 0],
|
||||
"anchorMax": [1, 0],
|
||||
"pivot": [0, 0],
|
||||
"anchoredPosition": [32, 12],
|
||||
"sizeDelta": [-64, 36]
|
||||
},
|
||||
"components": [
|
||||
{
|
||||
"type": "TextMeshProUGUI",
|
||||
"text": "pid=-",
|
||||
"fontSize": 24,
|
||||
"alignment": "MidlineLeft",
|
||||
"color": "#6B7A94FF",
|
||||
"raycastTarget": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Panel_Reconnect",
|
||||
"parent": "UI_MainHUD",
|
||||
"active": false,
|
||||
"rect": {
|
||||
"anchorMin": [0.5, 0],
|
||||
"anchorMax": [0.5, 0],
|
||||
"pivot": [0.5, 0],
|
||||
"anchoredPosition": [0, 160],
|
||||
"sizeDelta": [920, 160]
|
||||
},
|
||||
"components": [
|
||||
{
|
||||
"type": "Image",
|
||||
"sprite": "toast_bg",
|
||||
"imageType": "Sliced",
|
||||
"raycastTarget": true,
|
||||
"color": "#FFFFFFFF"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Txt_Reconnect",
|
||||
"parent": "Panel_Reconnect",
|
||||
"active": true,
|
||||
"rect": {
|
||||
"anchorMin": [0, 0.45],
|
||||
"anchorMax": [1, 1],
|
||||
"offsetMin": [28, 8],
|
||||
"offsetMax": [-28, -16]
|
||||
},
|
||||
"components": [
|
||||
{
|
||||
"type": "TextMeshProUGUI",
|
||||
"text": "网络已断开,正在重连…",
|
||||
"fontSize": 28,
|
||||
"alignment": "Center",
|
||||
"color": "#33405EFF",
|
||||
"raycastTarget": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Btn_Reconnect",
|
||||
"parent": "Panel_Reconnect",
|
||||
"active": true,
|
||||
"rect": {
|
||||
"anchorMin": [0.5, 0],
|
||||
"anchorMax": [0.5, 0],
|
||||
"pivot": [0.5, 0],
|
||||
"anchoredPosition": [0, 20],
|
||||
"sizeDelta": [280, 72]
|
||||
},
|
||||
"components": [
|
||||
{
|
||||
"type": "Image",
|
||||
"sprite": "btn_primary_normal",
|
||||
"imageType": "Sliced",
|
||||
"raycastTarget": true,
|
||||
"color": "#FFFFFFFF"
|
||||
},
|
||||
{
|
||||
"type": "Button",
|
||||
"transition": "SpriteSwap",
|
||||
"spritePressed": "btn_primary_pressed",
|
||||
"onClick": "MainHUD.Reconnect"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Txt_ReconnectBtn",
|
||||
"parent": "Btn_Reconnect",
|
||||
"active": true,
|
||||
"rect": {
|
||||
"anchorMin": [0, 0],
|
||||
"anchorMax": [1, 1],
|
||||
"offsetMin": [0, 0],
|
||||
"offsetMax": [0, 0]
|
||||
},
|
||||
"components": [
|
||||
{
|
||||
"type": "TextMeshProUGUI",
|
||||
"text": "立即重连",
|
||||
"fontSize": 30,
|
||||
"fontStyle": "Bold",
|
||||
"alignment": "Center",
|
||||
"color": "#F6F8FFFF",
|
||||
"raycastTarget": false
|
||||
},
|
||||
{
|
||||
"type": "Outline",
|
||||
"effectColor": "#102033AA",
|
||||
"effectDistance": [1, -1]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Img_Refresh",
|
||||
"parent": "Btn_Reconnect",
|
||||
"active": true,
|
||||
"rect": {
|
||||
"anchorMin": [0, 0.5],
|
||||
"anchorMax": [0, 0.5],
|
||||
"pivot": [0, 0.5],
|
||||
"anchoredPosition": [18, 0],
|
||||
"sizeDelta": [40, 40]
|
||||
},
|
||||
"components": [
|
||||
{
|
||||
"type": "Image",
|
||||
"sprite": "ico_refresh",
|
||||
"imageType": "Simple",
|
||||
"raycastTarget": false,
|
||||
"color": "#FFFFFFFF"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"bindings": ["Txt_Status", "Txt_Pid", "Panel_Reconnect", "Txt_Reconnect", "Btn_Reconnect"],
|
||||
"events": [
|
||||
{ "name": "MainHUD.Reconnect", "node": "Btn_Reconnect" }
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user