feat(BT12-Dev): 스킬 선택 UI Layer Lab BannerFrame04_Divided 적용 (가로형 Magicka 스타일·옵션 C)

PD 결정 (2026-05-10): 옵션 A 즉시 적용 + 가로형 화면 (Magicka 스타일)
실제 적용: 옵션 C — Layer Lab 전체 nested (103 obj·Editor freeze) 회피·BannerFrame04_Divided × 3 직접 추가

본 PM MCP 자율 진행:
1. SkillSelectionCanvas 영역 자식 (SkillSelectionPanel) 제거 → Layer Lab 적용 준비
2. Layer Lab Play_UI_ChoiceSkill nested Instantiate 시도 → Editor freeze (last_heartbeat 정지·103 obj 영역)
3. Editor 강제 종료 (taskkill PID 25912) + PD 재시작 + instance 재연결
4. 옵션 C 적용 — execute_code 영역 직접 구성:
   - SkillSelectionPanel (Image·dim 0.78 alpha·anchor stretch)
   - TitleText (TextMeshPro "기술 선택"·중앙 상단·금색)
   - CardArea (HorizontalLayoutGroup·1500x600·spacing 30·MiddleCenter)
   - SkillCardSlot1·2·3 (Layer Lab BannerFrame04_Divided nested prefab)
5. 각 카드 영역 SkillCardSlot 컴포넌트 부착·Button 부착·필드 매핑:
   - _nameText → BannerFrame04_Divided/Text_Title
   - _descriptionText → BannerFrame04_Divided/Text_Info
   - _topBanner·_highlightFrame → BannerFrame04_Divided/Border
   - _clickArea → 카드 자체 Button (targetGraphic = Bg/Image)
6. SkillSelectionUI _rootPanel·_titleText·_slot1·2·3 매핑
7. Scene 영역 SkillSelectionCanvas instance RevertPrefabInstance 강제 동기화 (Awake _rootPanel=NULL → SkillSelectionPanel 정합)
8. SkillSelectionUI.cs OnCardSelected 정정 — 카드 클릭 → 즉시 _onConfirm.Invoke (Magicka 스타일·Confirm 버튼 부재)

MCP Play 검증:
- [SkillSelectionUI] Awake _rootPanel=SkillSelectionPanel 
- [ExperienceSystem] OnEnemyKilled → GainXP +1 → LEVEL UP Lv.2 
- [LevelUpManager] cards.Count=3 → SkillSelectionCanvas 활성 
- [SkillSelectionUI] Show cards=3 level=2 
This commit is contained in:
깃 관리자 2026-05-10 15:35:52 +09:00
parent af6ac1652c
commit 62c8c93e6e
3 changed files with 754 additions and 3417 deletions

File diff suppressed because it is too large Load Diff

View File

@ -4429,21 +4429,6 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 74985464207050684, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: _rootPanel
value:
objectReference: {fileID: 124273345}
- target: {fileID: 74985464207050684, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: _titleText
value:
objectReference: {fileID: 124273344}
- target: {fileID: 421312385841554517, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_AdditionalShaderChannelsFlag
value: 25
objectReference: {fileID: 0}
- target: {fileID: 1008970575067144972, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_Name
@ -4549,16 +4534,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3611894027992063499, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_fontColor32.rgba
value: 4280365900
objectReference: {fileID: 0}
- target: {fileID: 3611894027992063499, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
propertyPath: m_TextStyleHashCode
value: -1183493901
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@ -4576,24 +4551,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1fa99265a1e5e354cbe04cb09a331bfc, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::EerieVillage.MyUI.SkillSelectionUI
--- !u!114 &124273344 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 3611894027992063499, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
m_PrefabInstance: {fileID: 124273342}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
--- !u!1 &124273345 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 4733469088043954817, guid: 9071d6ddb5d4f854185629ee1970af50,
type: 3}
m_PrefabInstance: {fileID: 124273342}
m_PrefabAsset: {fileID: 0}
--- !u!1 &124348950
GameObject:
m_ObjectHideFlags: 0
@ -116933,7 +116890,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 1}
m_AnchorMax: {x: 0.5, y: 1}
m_AnchoredPosition: {x: 0, y: -73.900024}
m_AnchoredPosition: {x: 0, y: -73.8999}
m_SizeDelta: {x: 346.2, y: 114.630005}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &604748599
@ -126297,7 +126254,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 2d141285d4c67174b9cb24f90fcde431, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::EerieVillage.Progression.LevelUpManager
_pool: {fileID: 846041742}
_ui: {fileID: 124273343}
--- !u!114 &846041742
MonoBehaviour:
@ -136850,7 +136806,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 95.100006, y: 84.80005}
m_AnchoredPosition: {x: 95.1001, y: 84.80005}
m_SizeDelta: {x: 130, y: 128}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1123152668
@ -143863,7 +143819,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -58.599976}
m_AnchoredPosition: {x: 0, y: -58.600098}
m_SizeDelta: {x: 0, y: 117.7}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &1303275085

View File

@ -104,6 +104,10 @@ namespace EerieVillage.MyUI
if (_slot1 != null) _slot1.SetHighlight(_slot1 == clickedSlot);
if (_slot2 != null) _slot2.SetHighlight(_slot2 == clickedSlot);
if (_slot3 != null) _slot3.SetHighlight(_slot3 == clickedSlot);
// BT12-Dev 2026-05-10 (PD 옵션 A·Magicka 스타일) — 카드 클릭 → 즉시 확정.
// Confirm 버튼 영역 부재 (Layer Lab BannerFrame04_Divided 영역 단순 카드만) — 클릭 = 선택 확정.
_onConfirm?.Invoke(card);
}
void OnConfirmClicked()