최종 갱신 (KST)

← 일감 목록
T-126

클라 — 창고 화면 · 인벤토리↔창고 끌어 넣기·꺼내기

태웅 New 우선순위 보통 목표 261024

배경

인벤토리 안의 칸 이동은 끌어 놓기로 된다(T-044 · 2026-10-06). 거래 열의 창고 탭은 아직 (기능 없음)이다 — 서버 창고(T-107)가 서야 화면을 붙일 수 있다.

창고가 서면 인벤토리 칸을 끌어 창고에 놓아 맡기고, 창고 칸을 끌어 인벤토리에 놓아 꺼내는 동선으로 간다(2026-10-06 사용자 요청). 버튼·우클릭 메뉴보다 인벤토리 안의 칸 이동과 손에 익은 조작이 같다.

할 일

  • [ ] ⏸ 서버 창고 — T-107 (창고 적재 · 놓은 칸 넣기·스왑 · 창고 안 정렬·자리 이동) · 이슈 #58
  • [ ] 창고 화면 — 거래 열 창고 탭에 종류별 3탭 격자(자원·캐릭터·장비). 인벤토리 탭과 늘 같이 바뀐다 — 맞닿은 두 칸이 항상 같은 종류. 칸 프레임 수는 엑셀 상수(탭별 창고 칸 수 · 5의 배수)를 읽어 맞춘다. 인벤토리 격자(InventoryGridPresenter · 공급자)를 재사용할 수 있는지 먼저 본다 (Container = Warehouse인 개체만 그리는 공급자 — 인벤토리 공급자들은 이미 Container로 거른다)
  • [ ] 창고 안 칸 이동 · [정렬] — 인벤토리와 같은 C_StorageMoveSlotRequest · C_StorageSortRequest에 Container = Warehouse
  • [ ] 인벤토리 → 창고 끌어 넣기 · 창고 → 인벤토리 꺼내기 — 두 격자 사이의 놓기 판정(지금 FindFrameAt은 자기 격자만 본다) 빈 칸에 놓으면 그대로 들어가고, 찬 칸에 놓으면 스왑. 놓을 칸 덮개·끌리는 그림은 인벤토리와 같게
  • [ ] 자원은 수량을 묻는다(판매 담기와 같은 수량 팝업 — 1개면 묻지 않는다)
  • [ ] 거절 사유 표시 — 다른 종류 · 배치 중 캐릭터 · 장비를 입은 캐릭터 · 장착 중 장비 · 받는 쪽 가득 참
  • [ ] 실측 — 맡기고 꺼낸 뒤 재로그인해도 그대로

정한 것 (2026-10-06 사용자 결정 → 이슈 #58)

  • 창고도 종류별 3탭 — 자원·캐릭터·장비. 다른 종류는 거절한다. 통합 창고(한 칸에 아무 종류)는 스왑이 성립하지 않는 경우가 생겨 기각.
  • 칸 수는 탭별 고정값 · 엑셀 상수 — 서버·클라가 같은 값을 읽는다. 값은 서버가 정한다(5의 배수 — 한 줄 5칸).
  • 골드 페이지 확장은 보류 — 창고 확장을 계획하고 있지 않다.
  • 놓은 칸에 넣는다 — 빈 칸이면 그대로, 찬 칸이면 스왑. 이동 요청에 도착 칸(ToSlot)이 필요하다(서버 요청).
  • 남은 판단(서버): 자원 일부 수량을 찬 칸에 놓았을 때 — 같은 자원이면 합치기 등

완료 조건

인벤토리 칸을 창고에 끌어 놓으면 맡겨지고, 창고 칸을 인벤토리에 끌어 놓으면 꺼내지며, 재로그인해도 두 보관함의 내용·칸이 그대로다.

막고 있는 것 / 선행 일감

  • T-107 — 서버 창고
  • T-044 — 인벤토리 안 끌어 놓기 (✅ 2026-10-06)

관련 커밋

  • 없음