배경
서버는 채취가 전부 돌아가는데 클라이언트에 화면이 없다.
지금 Unity 쪽에는 데스크톱 윈도우 제어(WindowManager)와 패킷 테스트 패널만 있고,
게임 화면이라 부를 것이 없다.
서버가 보내는 패킷은 이미 다 준비돼 있다:
| 패킷 | 내용 |
|---|---|
S_WorkStationSlotsResponse |
로그인 시 슬롯 전체 스냅샷 |
S_WorkStationAssignResponse |
배치 결과 + 변경된 슬롯 |
S_GatherResultResponse |
채취 결과 푸시 (슬롯별) |
C_WorkStationAssignRequest |
배치 요청 |
WorkStationSlotInfo.CurrentWorkSpeed가 슬롯의 현재 작업속도(천분율, 1000 = 1.0배)다. 적성 기본값(WorkSpeedTable.BaseWorkSpeedPermille)이 아니라 보정이 전부 적용된 확정값이므로 클라는 이 값만 보면 된다. → 작업슬롯 3.4
할 일
- [x] 슬롯 목록 표시 — 산업·배치된 캐릭터·진행도 (
WorkStationPanelUI+WorkStationSlotView) — 산업 레벨은 뺐다. 패킷에 필드가 없다(T-017 대기) - [x] 배치 UI — 산업 드롭다운 →
C_WorkStationAssignRequest(WorkStationTestButtonUI) — 레벨 선택 없음(T-017 대기), 캐릭터 선택 없음(아래 참조) - [x] 카운트다운 —
CurrentWorkSpeed와JudgeCostUnits로 로컬 계산한다. 서버는 주기(초)를 보내지 않는다 — 슬롯마다 다르고 버프로 바뀌기 때문이다 - [x] 속도 변경 반영 —
S_WorkStationSlotsResponse가 다시 오면CurrentWorkSpeed를 갈아치우고 카운트다운을 재계산한다 (Rebuild가 스냅샷마다 다시 바인딩) - [x] 채취 결과 연출 —
S_GatherResultResponse수신 시 수량 반영 + 로그 — 연출다운 연출은 아니다(팝업·이펙트 없음). 값은 정확히 반영된다 - [ ] 적성 0 산업은 배치 시도 자체를 막기 → 남았다. 아래 참조
⚠️ 산업 레벨이 배치에 한 칸 더 붙는다 (2026-08-01). 배치는
(산업, 레벨, 캐릭터)세 칸이 되고, 해금된 레벨만 고를 수 있다. 패킷에 레벨 필드가 아직 없다 — T-017이 끝나기 전에는 레벨 UI를 만들 수 없다. 레벨을 뺀 나머지는 지금 그대로 진행하면 된다. → 산업 레벨
완료 조건
로그인 → 슬롯에 캐릭터 배치 → 화면에서 카운트다운이 돌고 → 결과가 도착하면 아이템이 늘어나는 것이 눈으로 보인다.
✅ 충족 (2026-08-03). 다만 UI를 다 만든 뒤에도 한동안 충족되지 않았다 — 배치가 항상
미보유 캐릭터로 거절됐기 때문이다. 원인은 클라가 캐릭터 종류(TID) 를 보내고 서버는 개체 번호를 찾고 있던 것.S_CharacterListResponse핸들러를 붙여 서버가 준 값을 쓰도록 고치고 나서야 배치가 됐다. 화면이 다 그려져도 요청 값 하나가 틀리면 완료가 아니다.
남은 것
- 적성 0 산업 사전 차단 — 지금은 눌러 보고 서버 거절(
NoAptitude)로 안다. 서버가 막아 주므로 오동작은 없고 UX 문제다. 캐릭터별 적성을 클라가 보려면CharacterTable조회가 필요한데, 이건 아래 캐릭터 선택 UI와 한 묶음이다. - 캐릭터 선택 UI — 지금은
SessionManager.FirstCharacterId(보유 목록의 첫 마리)로 고정이다. 캐릭터가 여러 마리가 되는 시점(획득 경로 확정 = T-010)에 필요해진다. - 산업 레벨 칸 — 패킷에 필드 자체가 없다. T-017이 선행이다.
셋 다 이 일감의 완료 조건 밖이고, 각각 선행 조건이 달라 여기서 끌고 가면 영원히 안 닫힌다. 필요해지는 시점이 오면 별도 일감으로 올린다.
막고 있는 것 / 선행 일감
- 없음. 서버 쪽은 준비가 끝났다.
- 확인 편의를 위해 T-004(전역 배수 복귀)는 이 일감이 끝난 뒤에 하는 게 좋다 → 이제 풀렸다 (2026-08-03). T-006이 끝났으므로 T-004에 착수할 수 있다.
관련 커밋
84ed801— 작업슬롯 UI 추가06af139— 인벤토리·작업슬롯 칸 프레임과 배치 테스트 UI 씬 구성- 2026-08-03 — 캐릭터 개체 번호로 배치하도록 수정(이 커밋에서 완료 조건 충족)
UI 목업
| 파일 | 내용 |
|---|---|
| 게임UI목업(2026-07-30 업데이트).html | v2 통합 목업 — 창고 / 작업슬롯 / 거래 3열 + 슬롯 설정 오버레이 + 상시 스트립(방향 3안) |
브라우저로 열면 동작한다. 카운트다운은 실제 계산식(CurrentWorkSpeed·JudgeCostUnits)을 쓴다.
참고
- 클라이언트 카운트다운이 서버와 어긋나도 문제되지 않는다 — 연출일 뿐이고 다음 푸시에서 서버 값으로 맞춰진다 (작업슬롯 7장)
Assets/Scripts_Server/Network/MikaNetwork.Unity/ServerPacketHandler.cs