보관함 금화 호환
================

① 이번 예제에서 할 작업

QuickExitHud 또는 QuickRestartHud처럼 새 PlayerInventoryPanel을 상시 열어도
바닐라 보관함의 금화 입출력이 막히지 않도록 네이티브 금화 바인딩을 같은 패널에 보존합니다.


② 수정할 파일

[수정할 신규 패널]
data/global/ui/layouts/quickexithudhd.json
data/global/ui/layouts/quickrestarthudhd.json

별도의 바닐라 보관함 JSON은 수정하지 않습니다.


③ 찾아야 할 위치

각 PlayerInventoryPanel의 "children" 배열을 찾습니다.

예:

{
    "type": "PlayerInventoryPanel",
    "name": "QuickRestartHud",
    "children": [
        ...버튼들...
    ]
}

버튼들 뒤에 아래 두 위젯을 같은 children 배열에 추가합니다.


④ 실제로 삽입할 코드

{
    "type": "TextBoxWidget",
    "name": "gold_amount",
    "fields": {
        "rect": { "x": -50000, "y": -50000, "width": 249, "height": 48 },
        "style": "$StyleGoldAmount"
    },
    "children": [
        {
            "type": "FocusableWidget",
            "name": "gold_amount_tooltip",
            "fields": {
                "fitToParent": true,
                "tooltipStyle": "$TooltipStyle"
            }
        }
    ]
},
{
    "type": "ButtonWidget",
    "name": "gold_button",
    "fields": {
        "rect": { "x": -50000, "y": -50000 },
        "filename": "PANEL\\GoldButton",
        "hoveredFrame": 3,
        "tooltipString": "@strGoldDrop",
        "onClickMessage": "PlayerInventoryPanelMessage:DropGold"
    }
}


⑤ 삽입 후 형태

{
    "type": "PlayerInventoryPanel",
    "name": "QuickRestartHud",
    "children": [
        ...재시작 버튼들...,

        {
            "type": "TextBoxWidget",
            "name": "gold_amount",
            ...
        },
        {
            "type": "ButtonWidget",
            "name": "gold_button",
            ...
        }
    ]
}


⑥ 적용 원리

새 PlayerInventoryPanel이 활성화되면 보관함 금화 입력과 관련된 네이티브 바인딩이 영향을 받을 수 있습니다.
gold_amount와 gold_button을 화면 밖 좌표로 같은 PlayerInventoryPanel 안에 두면 기존 금화 상호작용을 보존할 수 있습니다.
이 두 위젯은 새 보관함 기능을 추가하는 것이 아니며, 별도의 PlayerInventoryPanel로 분리하지 않습니다.

주의:
- QuickExitHud와 QuickRestartHud를 둘 다 사용하면 각각의 PlayerInventoryPanel에 이 두 위젯을 넣습니다.
- 해당 PlayerInventoryPanel 자체를 제거할 때만 함께 제거하면 됩니다.
