gen-slaydeck: 유효한 GUID 생성으로 수정 (DeckHud·카드 자식 entity id)
기존 guid() prefix+4hex는 8-4-4-4-12 형식이 아니어서 Maker가 적용 거부(LEA-3054). 네임스페이스 바이트 기반 hex GUID로 변경하고, 기존 자식 id도 재생성 시 정규화. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -19,7 +19,10 @@ const ALIGN_CENTER = 0;
|
|||||||
const ALIGN_BOTTOM_CENTER = 6;
|
const ALIGN_BOTTOM_CENTER = 6;
|
||||||
|
|
||||||
function guid(prefix, n) {
|
function guid(prefix, n) {
|
||||||
return `${prefix}${n.toString(16).padStart(4, '0')}-0000-4000-8000-${n.toString(16).padStart(12, '0')}`;
|
// 유효한 8-4-4-4-12 hex GUID 생성. prefix는 충돌 방지용 네임스페이스 바이트로 매핑.
|
||||||
|
const ns = prefix === 'hud' ? 0xd0 : prefix === 'dck' ? 0xca : 0xfe;
|
||||||
|
const v = (ns * 0x100000 + n) >>> 0;
|
||||||
|
return `${v.toString(16).padStart(8, '0')}-0000-4000-8000-${v.toString(16).padStart(12, '0')}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
function transform({ parentW, parentH, anchor, pivot, size, pos, align = 0 }) {
|
function transform({ parentW, parentH, anchor, pivot, size, pos, align = 0 }) {
|
||||||
@@ -229,6 +232,7 @@ function upsertUi() {
|
|||||||
ui.ContentProto.Entities.push(child);
|
ui.ContentProto.Entities.push(child);
|
||||||
byPath.set(path, child);
|
byPath.set(path, child);
|
||||||
} else {
|
} else {
|
||||||
|
child.id = guid('dck', i * 10 + children.findIndex(([s]) => s === suffix));
|
||||||
child.jsonString.enable = true;
|
child.jsonString.enable = true;
|
||||||
child.jsonString.visible = true;
|
child.jsonString.visible = true;
|
||||||
child.jsonString['@components'][2].Text = cfg.value;
|
child.jsonString['@components'][2].Text = cfg.value;
|
||||||
|
|||||||
@@ -1395,7 +1395,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "cad00002-0000-4000-8000-000000000002",
|
"id": "0ca0000a-0000-4000-8000-00000ca0000a",
|
||||||
"path": "/ui/DefaultGroup/CardHand/Card1/Cost",
|
"path": "/ui/DefaultGroup/CardHand/Card1/Cost",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -1583,7 +1583,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "cad00003-0000-4000-8000-000000000003",
|
"id": "0ca0000b-0000-4000-8000-00000ca0000b",
|
||||||
"path": "/ui/DefaultGroup/CardHand/Card1/Name",
|
"path": "/ui/DefaultGroup/CardHand/Card1/Name",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -1771,7 +1771,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "cad00004-0000-4000-8000-000000000004",
|
"id": "0ca0000c-0000-4000-8000-00000ca0000c",
|
||||||
"path": "/ui/DefaultGroup/CardHand/Card1/Desc",
|
"path": "/ui/DefaultGroup/CardHand/Card1/Desc",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -2147,7 +2147,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "cad00006-0000-4000-8000-000000000006",
|
"id": "0ca00014-0000-4000-8000-00000ca00014",
|
||||||
"path": "/ui/DefaultGroup/CardHand/Card2/Cost",
|
"path": "/ui/DefaultGroup/CardHand/Card2/Cost",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -2335,7 +2335,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "cad00007-0000-4000-8000-000000000007",
|
"id": "0ca00015-0000-4000-8000-00000ca00015",
|
||||||
"path": "/ui/DefaultGroup/CardHand/Card2/Name",
|
"path": "/ui/DefaultGroup/CardHand/Card2/Name",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -2523,7 +2523,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "cad00008-0000-4000-8000-000000000008",
|
"id": "0ca00016-0000-4000-8000-00000ca00016",
|
||||||
"path": "/ui/DefaultGroup/CardHand/Card2/Desc",
|
"path": "/ui/DefaultGroup/CardHand/Card2/Desc",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -2899,7 +2899,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "cad0000a-0000-4000-8000-00000000000a",
|
"id": "0ca0001e-0000-4000-8000-00000ca0001e",
|
||||||
"path": "/ui/DefaultGroup/CardHand/Card3/Cost",
|
"path": "/ui/DefaultGroup/CardHand/Card3/Cost",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -3087,7 +3087,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "cad0000b-0000-4000-8000-00000000000b",
|
"id": "0ca0001f-0000-4000-8000-00000ca0001f",
|
||||||
"path": "/ui/DefaultGroup/CardHand/Card3/Name",
|
"path": "/ui/DefaultGroup/CardHand/Card3/Name",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -3275,7 +3275,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "cad0000c-0000-4000-8000-00000000000c",
|
"id": "0ca00020-0000-4000-8000-00000ca00020",
|
||||||
"path": "/ui/DefaultGroup/CardHand/Card3/Desc",
|
"path": "/ui/DefaultGroup/CardHand/Card3/Desc",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -3651,7 +3651,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "cad0000e-0000-4000-8000-00000000000e",
|
"id": "0ca00028-0000-4000-8000-00000ca00028",
|
||||||
"path": "/ui/DefaultGroup/CardHand/Card4/Cost",
|
"path": "/ui/DefaultGroup/CardHand/Card4/Cost",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -3839,7 +3839,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "cad0000f-0000-4000-8000-00000000000f",
|
"id": "0ca00029-0000-4000-8000-00000ca00029",
|
||||||
"path": "/ui/DefaultGroup/CardHand/Card4/Name",
|
"path": "/ui/DefaultGroup/CardHand/Card4/Name",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -4027,7 +4027,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "cad00010-0000-4000-8000-000000000010",
|
"id": "0ca0002a-0000-4000-8000-00000ca0002a",
|
||||||
"path": "/ui/DefaultGroup/CardHand/Card4/Desc",
|
"path": "/ui/DefaultGroup/CardHand/Card4/Desc",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -4403,7 +4403,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "dck0032-0000-4000-8000-000000000032",
|
"id": "0ca00032-0000-4000-8000-00000ca00032",
|
||||||
"path": "/ui/DefaultGroup/CardHand/Card5/Cost",
|
"path": "/ui/DefaultGroup/CardHand/Card5/Cost",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -4591,7 +4591,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "dck0033-0000-4000-8000-000000000033",
|
"id": "0ca00033-0000-4000-8000-00000ca00033",
|
||||||
"path": "/ui/DefaultGroup/CardHand/Card5/Name",
|
"path": "/ui/DefaultGroup/CardHand/Card5/Name",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -4779,7 +4779,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "dck0034-0000-4000-8000-000000000034",
|
"id": "0ca00034-0000-4000-8000-00000ca00034",
|
||||||
"path": "/ui/DefaultGroup/CardHand/Card5/Desc",
|
"path": "/ui/DefaultGroup/CardHand/Card5/Desc",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -4967,7 +4967,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "hud0000-0000-4000-8000-000000000000",
|
"id": "0d000000-0000-4000-8000-00000d000000",
|
||||||
"path": "/ui/DefaultGroup/DeckHud",
|
"path": "/ui/DefaultGroup/DeckHud",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -5108,7 +5108,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "hud0001-0000-4000-8000-000000000001",
|
"id": "0d000001-0000-4000-8000-00000d000001",
|
||||||
"path": "/ui/DefaultGroup/DeckHud/DrawPile",
|
"path": "/ui/DefaultGroup/DeckHud/DrawPile",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -5249,7 +5249,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "hud0002-0000-4000-8000-000000000002",
|
"id": "0d000002-0000-4000-8000-00000d000002",
|
||||||
"path": "/ui/DefaultGroup/DeckHud/DrawPile/Label",
|
"path": "/ui/DefaultGroup/DeckHud/DrawPile/Label",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -5437,7 +5437,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "hud0003-0000-4000-8000-000000000003",
|
"id": "0d000003-0000-4000-8000-00000d000003",
|
||||||
"path": "/ui/DefaultGroup/DeckHud/DrawPile/Count",
|
"path": "/ui/DefaultGroup/DeckHud/DrawPile/Count",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -5625,7 +5625,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "hud0004-0000-4000-8000-000000000004",
|
"id": "0d000004-0000-4000-8000-00000d000004",
|
||||||
"path": "/ui/DefaultGroup/DeckHud/DiscardPile",
|
"path": "/ui/DefaultGroup/DeckHud/DiscardPile",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -5766,7 +5766,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "hud0005-0000-4000-8000-000000000005",
|
"id": "0d000005-0000-4000-8000-00000d000005",
|
||||||
"path": "/ui/DefaultGroup/DeckHud/DiscardPile/Label",
|
"path": "/ui/DefaultGroup/DeckHud/DiscardPile/Label",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -5954,7 +5954,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "hud0006-0000-4000-8000-000000000006",
|
"id": "0d000006-0000-4000-8000-00000d000006",
|
||||||
"path": "/ui/DefaultGroup/DeckHud/DiscardPile/Count",
|
"path": "/ui/DefaultGroup/DeckHud/DiscardPile/Count",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -6142,7 +6142,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "hud0007-0000-4000-8000-000000000007",
|
"id": "0d000007-0000-4000-8000-00000d000007",
|
||||||
"path": "/ui/DefaultGroup/DeckHud/EndTurnButton",
|
"path": "/ui/DefaultGroup/DeckHud/EndTurnButton",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.ButtonComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.ButtonComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
@@ -6377,7 +6377,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "hud0008-0000-4000-8000-000000000008",
|
"id": "0d000008-0000-4000-8000-00000d000008",
|
||||||
"path": "/ui/DefaultGroup/DeckHud/Energy",
|
"path": "/ui/DefaultGroup/DeckHud/Energy",
|
||||||
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent",
|
||||||
"jsonString": {
|
"jsonString": {
|
||||||
|
|||||||
Reference in New Issue
Block a user