{ "schemaVersion": 1, "prefabName": "UI_VirtualJoystick", "prefabPath": "Assets/Game/Art/UI/Prefab/UI_VirtualJoystick.prefab", "description": "Reusable virtual joystick HUD prefab for lobby and minigames. Runtime consumers subscribe to VirtualJoystick events and map pure direction input to their own behavior.", "canvas": { "canvasScaler": { "referenceResolution": [2048, 1024], "matchWidthOrHeight": 0.5 } }, "assets": { "sprites": { "lobby_joystick_base": "Assets/Game/Art/UI/Texture/Common/lobby_joystick_base.png", "lobby_joystick_ring": "Assets/Game/Art/UI/Texture/Common/lobby_joystick_ring.png", "lobby_joystick_knob": "Assets/Game/Art/UI/Texture/Common/lobby_joystick_knob.png" } }, "nodes": [ { "name": "UI_VirtualJoystick", "parent": null, "active": true, "rect": { "anchorMin": [0, 0], "anchorMax": [0, 0], "pivot": [0.5, 0.5], "anchoredPosition": [260, 220], "sizeDelta": [148, 148] }, "components": [ { "type": "CanvasGroup", "alpha": 0.96, "interactable": true, "blocksRaycasts": true }, { "type": "MonoBehaviour", "typeName": "XGame.VirtualInput.VirtualJoystick" } ] }, { "name": "Base", "parent": "UI_VirtualJoystick", "active": true, "rect": { "anchorMin": [0.5, 0.5], "anchorMax": [0.5, 0.5], "pivot": [0.5, 0.5], "anchoredPosition": [0, 0], "sizeDelta": [148, 148] }, "components": [ { "type": "Image", "sprite": "lobby_joystick_base", "imageType": "Simple", "preserveAspect": true, "raycastTarget": false, "color": "#FFFFFFFF" }, { "type": "Shadow", "effectColor": "#06101F6B", "effectDistance": [0, -7], "useGraphicAlpha": true } ] }, { "name": "Ring", "parent": "UI_VirtualJoystick", "active": true, "rect": { "anchorMin": [0.5, 0.5], "anchorMax": [0.5, 0.5], "pivot": [0.5, 0.5], "anchoredPosition": [0, 0], "sizeDelta": [148, 148] }, "components": [ { "type": "Image", "sprite": "lobby_joystick_ring", "imageType": "Simple", "preserveAspect": true, "raycastTarget": false, "color": "#FFFFFFFF" } ] }, { "name": "Knob", "parent": "UI_VirtualJoystick", "active": true, "rect": { "anchorMin": [0.5, 0.5], "anchorMax": [0.5, 0.5], "pivot": [0.5, 0.5], "anchoredPosition": [0, 0], "sizeDelta": [56, 56] }, "components": [ { "type": "Image", "sprite": "lobby_joystick_knob", "imageType": "Simple", "preserveAspect": true, "raycastTarget": false, "color": "#FFFFFFFF" }, { "type": "Shadow", "effectColor": "#06101F5C", "effectDistance": [0, -5], "useGraphicAlpha": true } ] } ], "bindings": [], "events": [] }