최종 갱신 (KST)

← 일감 목록
T-079

클라 — 특성을 누르면 정보부터, 해금은 [확인]으로 (2단계 플로우)

태웅 Closed 우선순위 보통 목표 261010 · 보관됨

배경

지금은 노드를 누르는 즉시 결과가 튀어나온다.

노드 클릭 ─┬─ 이미 배움      → 알림 "이미 배운 특성입니다."
           ├─ 조건 미달      → 알림 "계정 레벨 n이 필요합니다." / "○○을 먼저 배워야 합니다."
           ├─ 포인트 부족    → 알림 "특성 포인트가 부족합니다."
           └─ 전부 통과      → 확인 팝업 → 서버 요청

노드 칸 아래 한 줄(BuildDetail)이 조건이거나 효과 중 하나만 적는다 — 잠기면 조건을, 열리면 효과를. 즉 열려 있는 특성은 무엇을 얼마나 주는지 한 줄로밖에 못 본다. "눌러야 알 수 있는데, 누르면 바로 팝업"이라 읽고 결정할 자리가 없다.

바꿀 흐름

노드 클릭 → 하단 정보 영역에 그 특성을 펼친다 (이름 · 효과 · 조건 · 필요 포인트 · 현재 상태)
                      └─ [확인] 버튼 → 지금의 판정·팝업·알림을 그대로 탄다

판정 순서와 문구는 바꾸지 않는다. 서버 판정과 같은 순서(선행 → 계정 레벨 → 포인트)를 유지하고, 그것이 불리는 시점만 노드 클릭에서 [확인] 클릭으로 옮긴다.

조사 결과 — 무엇이 어디 있나

무엇 어디
노드 클릭 진입점 TraitPresenter.OnNodeClicked(TraitNodeView) — 판정 4단계 + _ui.AskConfirm
조건 판정 TraitPresenter.MeetsConditions(tid, notice) — notice:true면 이유를 알린다
효과 문구 TraitPresenter.DescribeEffect · 칸 한 줄은 BuildDetail
노드 클릭 이벤트 TraitNodeView.Clicked
트리 데이터 UserTraitTable(효과·필요 포인트) + 같은 TID의 UnlockTable(계정 레벨·선행)
확인 팝업 · 알림 UIManager.AskConfirm · ServerWaitManager.RaiseNotice

서버·패킷 변경 없음. C_UserTraitLearnRequest는 그대로다.

수정 필요 파일

파일 무엇
Assets/Scripts_Client/UI/Storage/TraitPresenter/TraitPresenter.cs OnNodeClicked를 "고른다" 로 바꾸고, 지금의 판정+팝업은 새 OnConfirmClicked로 옮긴다. 고른 TID(_selectedTraitTid)를 들고 정보 영역을 그린다
씬 #Storage Canvas > Trait Presenter Scroll View Panel 아래에 정보 영역 + [확인] 버튼 신설
Assets/Scripts_Client/UI/Storage/TraitPresenter/TraitNodeView.cs 고른 칸을 표시할 상태가 필요하면(선택 테두리) 여기 — 판단은 Presenter가 한다
Assets/Scripts_Client/UI/Storage/Storage 규칙.md · UI 배치 현황.md 2단계 플로우 · 새 영역 한 줄

영향 범위

  • Trait Presenter 안에서 끝난다. 창고 탭 줄·격자·도구 줄·판매 목록과 무관하다.
  • Trait Presenter는 Trait Tab Panel(34) + Point Text(22) + Scroll View Panel(flexH 1) 구성이다. 정보 영역을 붙이면 트리 스크롤 영역이 그만큼 줄어든다 — 높이를 고정할지 정해야 한다.
  • Redraw가 해금·계정 레벨 변경마다 돈다. 정보 영역도 같이 갱신돼야 한다 — 찍은 직후 "필요 포인트 n" 이 남아 있으면 안 된다.
  • 고른 칸이 다시 그려지며 사라질 수 있다(탭 전환 · 트리 재구성). 고른 TID를 들고 있되 그 TID가 지금 구역에 없으면 정보 영역을 비운다.

할 일

  • [x] 씬에 특성 정보 영역 + [확인] 버튼 만들고 높이 규격 정하기

  • [x] OnNodeClicked → 선택만 (판정·팝업 제거) · _selectedTraitTid 보관

  • [x] 정보 영역 그리기 — 이름 · 효과 · 필요 포인트 · 조건(선행·계정 레벨) · 현재 상태

  • [x] [확인] 버튼에 기존 판정 4단계 + AskConfirm 연결 (순서·문구 그대로)

  • [x] Redraw·탭 전환·찍기 성공 뒤 정보 영역 동기화 (사라진 TID는 비운다)

  • [x] 고른 칸 표시(선택 테두리 등)

  • [x] Storage 규칙.md · UI 배치 현황.md 갱신

  • [x] 플레이 모드 실측 — 잠김·가능·배움 노드 클릭 · [배우기] 알림/팝업 · 찍은 직후 갱신 · 탭 전환

2026-09-29 구현 · 사용자 실측 완료: 정보 영역 높이 = 판매 목록(375 고정) · 버튼 50 · 문구 [배우기]. 잠긴 노드도 누를 수 있게 풀었다(정보를 읽어야 하므로). [배우기]는 배운 특성에서만 숨는다.

완료 조건

노드를 눌러도 팝업이 뜨지 않고 하단에 그 특성이 펼쳐진다. [확인]을 눌렀을 때만 기존 해금 확인 팝업 / 포인트 부족·조건 미달 알림이 뜬다. 찍고 나면 정보 영역이 즉시 "배움"으로 바뀐다.

막고 있는 것 / 선행 일감

  • 없음

관련 커밋

  • 이 커밋 — 2단계 플로우 · 정보 영역(판매 목록과 같은 자리·높이) · 노드 선택 테두리 · Trait Presenter 패딩 0 · 간격 5