BurningTimesAi/공유/기획/GodDem/2026-08-20_UI개편_설계_위임_v1.md

7.2 KiB
Raw Permalink Blame History

GodDem UI 전면 개편 설계·위임 SOT v1

작성: Fable5 (총괄PM) 2026-08-20 · PD 지시: Layer Lab GUI Pro-SuperCasual 에셋으로 아웃게임 UI 전면 개편 + 인게임 UI 재구성 위임 구조: Fable5 설계 → 개발팀장(Opus) 검토·구현·검증 (C49) · 화면 단위 순차 원칙: 원작 Wild Survival = Layer Lab과 동일 SuperCasual 스타일이므로 참조 화면 그대로 재현


0. 에셋 도입 완료 상태 (선행 완료)

  • 위치: E:\NerdNavis\GodDem\Assets\GUIPro\ (ResourcesData + Prefabs, GUID 유지 복사)
  • 규모: 프리팹 534종 · 스프라이트 993종 · 커스텀 스크립트 0개(순수 비주얼)
  • 완성 화면 프리팹 (Assets/GUIPro/Prefabs/Prefabs_DemoScene_Panels/):
    PD 지정 프리팹 용도
    로비 Lobby.prefab 아웃게임 메인
    상점 Shop.prefab 재화/패스/데일리
    Hero Equipment.prefab + Collection_List.prefab 캐릭터 장비·강화 (스크롤)
    인게임 Play_UI_Action.prefab / Play_UI_Idle.prefab 전투 HUD
    스킬선택 Play_UI_ChoiceSkill.prefab 레벨업 3종 택1
    승리 PopupDim_Play_Result_Victory.prefab 결과
    패배 PopupDim_Play_Result_Defeat.prefab 결과
    레벨업 PopupFull_LevelUp.prefab / PopupFull_CharacterLevelUp.prefab 연출
    장비상세 Popup_EquipmentItemInfo02_*.prefab (등급별 6색) 팝업
  • 컴포넌트 프리팹: Prefabs_Component_Buttons(70)·_Frames(200)·_Labels(53)·_Popups(36)·_Sliders(48)·_UI_Etc(41)
  • 아이콘: Icon_ItemIcons/Original/ — Gear_Sword/Ring/Boots/Hat/Armor(장비), Chest_Gem/Gold/Premium(상자), Energy/Gem/Clover, Damage/Dungeon/Battle 등 / Icon_ShopItem(CoinPack·GemPack) / Icon_GradeBadge(등급)

0-1. ⚠️ 필수 계약 3가지 (위반 시 깨짐)

  1. 한글 폰트 교체: Layer Lab 프리팹의 모든 TMP_Text.font는 Cairo/Sen(한글 미지원)이다. 반드시 Assets/Resources/Fonts/ONEMobilePOP SDF.asset(또는 Assets/UGUI/Fonts/ONEMobilePOP_TMP.asset)으로 교체. 텍스트도 한국어로.
  2. CanvasScaler: GodDem 표준 = ScreenSpaceOverlay, Reference 1080×1920, ScaleWithScreenSize, Match=Expand. Layer Lab 프리팹 임포트 후 이 값으로 통일.
  3. Unity MCP 단일 인스턴스: 위임 에이전트는 한 번에 하나만 Unity를 조작한다. 병렬 금지.

1. 인게임 UI (Phase A — 최우선, SurvivalBattle 직결)

대상 씬: Assets/Scenes/SurvivalBattle.unity 현재: SurvivalHUD.cs(IMGUI) — 이걸 Layer Lab UGUI 프리팹으로 교체 데이터 소스: SurvivalBattleManager.Instance (public API 이미 존재)

Layer Lab 프리팹 대응 GodDem 데이터 참조 화면
Play_UI_Action.prefab 상단: Gold(코인)·Wave/Stage·Enemies.Count(킬)·경험치바(Exp/RequiredExpLevel / 하단: Player.Hp/MaxHp 체력바 4_Play_UI_Action
Play_UI_ChoiceSkill.prefab PendingSkills(3종) → 카드 아이콘/이름(Name)/설명(Desc)/등급(Grade). 선택 → ChooseSkill(i) 4_Play_UI_ChoiceSkill
PopupDim_Play_Result_Victory.prefab 스테이지 클리어(웨이브 10 완주) 시. REWARDS = 획득 골드. Continue → 다음 스테이지/로비 9_Play_Result_Victory
PopupDim_Play_Result_Defeat.prefab IsGameOver 시. REWARDS = 골드. ContinueRestart() 또는 로비 9_Play_Result_Defeat

능력치 강화 패널(원작 3탭 가로행)은 Play_UI_Action 하단에 통합. Layer Lab Prefabs_Component_Buttons + ItemMatchHomeBaseUpgrade 스타일 행으로 SurvivalBattleManager.Upgrades.Tracks 12종 표시, TryUpgrade(i) 연결.

신규 스크립트: SurvivalUIController.cs(MonoBehaviour) — 프리팹 인스턴스를 Instantiate하고 SurvivalBattleManager 필드에 바인딩. SurvivalHUD(IMGUI) 제거. 매 프레임 값 갱신(코루틴/Update).

2. 아웃게임 UI (Phase B — 로비/상점/영웅)

대상 시스템: Assets/Script/UGUI/*.cs(활성 UGUI) — UITK(Assets/Script/UI/)는 비활성 레거시, 건드리지 않음 진입점: UGUILobbySceneUIController + MainDocument.prefab (런타임 Instantiate) 강결합 계약: ①kebab-case 노드 이름(Q<T>("start-button") 등) ②이벤트 버스(MainMenuUIEvents/ModalEvents/TabEvents) ③재화 옵저버(CurrencyManager.Get + ObserverManager.AddObserver(GenerateItemTypeKey(GOLD_ID/GEM_ID)))

화면 Layer Lab GodDem 연결 참조
로비 Lobby.prefab UGUILobbyView — PLAY → SceneManager.LoadScene("SurvivalBattle")(신규 인게임으로 변경). 재화 헤더 = UGUIHeaderView 계약 1_Lobby
상점 Shop.prefab UGUIShopView(현재 빈 껍데기) 채움 — GEM PACK/GOLD PACK/DAILY. CurrencyManager 재화 13_Shop_1/2
Hero Equipment.prefab 신규 Hero 뷰 — 캐릭터 + 장비 슬롯 + Attack/HP + 스크롤 인벤토리. SurvivalBattle 강화 or 별도 메타 6_Equipment
하단 탭 Lobby.prefab 내 네비 UGUIMainMenuView 5버튼 계약(menu__*-button) 1_Lobby 하단

접근 방식: 기존 MainDocument.prefab(13만 라인·nested 6331)을 수정하기보다, Layer Lab 화면 프리팹을 신규 배치하고 노드에 kebab-case 이름을 부여해 기존 뷰 코드와 결선하거나, 뷰 코드의 조회 문자열을 새 노드명에 맞춰 수정. 개발팀장이 프리팹 규모를 보고 방식(스킨 교체 vs 재구축) 판정.

3. 자율 판단 영역 (PD 위임)

나머지 화면(모달·팝업·토스트·설정 등)은 개발팀장이 Layer Lab 대응 프리팹을 자율 매핑:

  • 게임결과 모달 UGUIGameResultModalPopupDim_Play_Result_*
  • 가챠결과 UGUIGachaResultModalPopupFull_RewardItems/Popup_Chest
  • 설정 UGUISettingModalSettings.prefab
  • 일시정지 UGUIPauseModalPopup_Close/Popup_OtherPopup_01
  • 토스트 → Popup_Toast
  • 등급 뱃지 UGUIGradeBadgeIcon_GradeBadge

4. 위임·분할 계획

Phase 범위 위임 검증
A 인게임 4화면 (Action/ChoiceSkill/Victory/Defeat) + 강화패널 개발팀장(Opus) → 클라이언트팀(Sonnet) Play 스크린샷
B1 로비 (Lobby.prefab + 하단탭 + 헤더) 개발팀장 Play 스크린샷
B2 상점 (Shop.prefab) 개발팀장 Play 스크린샷
B3 Hero (Equipment.prefab) 개발팀장 Play 스크린샷
C 자율 매핑 (모달·팝업·토스트) 개발팀장 종합

각 Phase는 Unity MCP 단일 인스턴스라 순차 진행. Phase A부터.

5. 저작권·주의

  • Layer Lab GUI Pro-SuperCasual = PD 구매 상용 에셋(정당 사용). 원작 Wild Survival 리소스(저작권 침해)와 다름 — 이 에셋은 자유롭게 사용.
  • 기존 GodDem UGUI 시스템은 유닛 소환 대전형 메타(가챠/카드/룬)라 SurvivalBattle과 데이터가 다름. 아웃게임은 SurvivalBattle에 맞게 재구성하되 재화(CurrencyManager)는 재사용.
  • IMGUI SurvivalHUD는 Phase A 완료 후 제거.