Commit Graph

18 Commits

Author SHA1 Message Date
깃 관리자 4175874c51 [WL-816zc] PD 조정 — 울타리 콜라이더도 끔(투명 벽) + 3 s 상시 재숨김 · 상인/사과나무 자리 교환 · 던전 발판 = 입구 자리(0,0,3) · 좌판·사과나무 콜라이더 유지(판매·수확 트리거) (#816)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 17:05:42 +09:00
깃 관리자 39fcbe5d44 [WL-816zc] 섬 초기 플로우 v2 (#816)
캠프파이어 설치(10) → 상인 설치(30) → 사과나무 설치(60) → 던전 생성(100).
한 번에 발판 1개 · 단계는 PlayerPrefs 1키(WL_Island_FlowStep · 시작마다 초기화).
원본 섬 확장 가격판(FI Purchaser)은 첫 던전 승리 전까지 렌더러·콜라이더만 끄고,
승리(OnStageCleared) 시 WL_Island_ExpansionUnlocked=1 → 그대로 다시 켠다
(이후 확장 순서는 FI 원본 Island.Constraint 그대로 · 우리 코드는 켜고 끄기만).
밭은 시작 시 생성 보류 유지(hideFarms 1) · 던전 2~4 행 enabled_ 0.
되돌리기 = flowV2Enabled 0.

원본(Assets/FarmingIsland/** · Assets/Script/**) 0줄.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 16:04:08 +09:00
깃 관리자 b289d896b3 Merge branch 'wl/ui/WL-816y-camp-portal' 2026-09-15 15:29:00 +09:00
깃 관리자 2ca0b84519 [WL-816y] 캠프파이어 설치 자리 장식 + Arch_01 던전 포탈 (#816)
- 첫 개방 발판 문구 = 「캠프파이어 설치」 · 지불·세이브 복원 시 그 구역에 캠프 장식 스폰
  (WLIslandCampDecor: Fireplace 중앙 1 + Tent 가장자리 2 · 불 쪽 향함 · 콜라이더 off · 바닥 스냅)
- 던전 입구 = WL_DungeonGate_Arch(Arch_01 + 아치 중앙 마법 포털 루프) · gatePrefabPath 4행 · 안내 문구 「던전으로 이동하기」
- FantasyForest 원본은 Built-in 셰이더(URP 분홍) — 원본 0줄 수정, WL 쪽 URP 사본 머티리얼 2개로 래핑
- 되돌리기 = campDecorEnabled 0 + gatePrefabPath 비우기

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 15:12:29 +09:00
깃 관리자 91fbe5ba9f [WL-816w] 이동 깜빡임 실측 · 섬 울타리 제거 · 밭 자리 흙 (#816)
① 깜빡임: PD 경로(InGame+Level01 Additive)에서 걸으며 프레임별 실측 — 재현 0
   (화면차 중앙값 2.61 · 중앙값×3 초과 0/119 · 렌더러 증감 0/89 · dt 16.7ms 일정).
   viewCull ON/OFF 대조도 1154~1155 · 튐 0 → 값 변경 없음.
② 울타리: IslandManager/Island (0)/Fence01·(1)·(2) = FI 섬 타일 장식(Farm 자식 아님).
   hideIslandFences 로 렌더러만 끈다(원본 0줄 · 확장 타일도 Co_ReHide 에서).
③ 밭 자리 흙: showFarmSoil 로 Soil 렌더러는 남기고(콜라이더는 계속 off)
   soilTargetColor 를 화면 실측으로 재수렴 (164,168,138) vs 데모 흙 (164,168,139).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 14:59:53 +09:00
깃 관리자 b0e601ca02 [WL-816u] 열림 발판 중앙·50 % + 던전 「다음」 = 재입장 + 액티브 스킬 OFF (#816)
① 발판 = 열림 구역(숨긴 밭 전부) XZ 정중앙 + 인스턴스 스케일 50 %
   - WLIslandSettings: platformScale 0.5 / platformCenterOnZone 1 / platformCenterVisibleOnly 1
   - 트리거는 스케일 역보정으로 월드 3.40 m 유지 · FI 프리팹 0줄
② 던전 결과창 왼쪽 버튼 = 같은 스테이지 재입장(StageDirector.Retry)
   - WLStageUiSettings: dungeonPrimaryRetry 1 / dungeonPrimaryText 「다시 도전」
   - 스테이지 모드(#815)는 Current==null 이라 한 줄도 지나가지 않음
③ 액티브 스킬 사용 OFF (PD 「우선 엑티브 스킬은 사용 Off 해줘」)
   - 새 파일 ActiveSkillLock.cs · WLCombatCoreSettings.activeSkillsEnabled 0
   - 자동 스킬 캐시(arr_magicData) 비움 + 패드 스킬 슬롯 0 · 기본 공격 불변

게이트 PASS(resident · errors[] · 콘솔 error 0) · ProjectSettings/Packages dirty 0
Assets/Script/** · Assets/FarmingIsland/** 0줄

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 13:49:33 +09:00
깃 관리자 d32399fa0b [WL-816] 게임 시작마다 섬 세이브 초기화(resetSaveEveryStart 1) + 몬스터 공격 예고 바닥 판 off(decalEnabled 0) (PD 2026-09-15 · #816)
- WLIslandSave.Prepare: resetSaveEveryStart 면 실행 1회당 1번 세이브 삭제·던전 해금 0·보류 보상 0(던전→섬 복귀 시엔 아님). 되돌리기 = 0.
- WLTelegraphSettings.asset decalEnabled 1→0 (값만).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 01:18:59 +09:00
깃 관리자 858f31a930 Merge branch 'wl/systems/WL-816l-dungeon-entry' 2026-09-15 00:58:10 +09:00
깃 관리자 9c62123291 [WL-816l] 던전 입장 카메라 안정 + 더미 캐릭터 제거 (#816)
더미 = 던전 씬 2개의 별도 루트 PC_LH_M05(전시용 치비) + ArenaWalkerRig(이 리그가 body 로 치비를 걷게 한다).
FixDuplicates 는 ArenaWalker 가 붙은 오브젝트만 꺼서 치비가 그대로 남았다 → 두 씬에서 제거(루트 10→8).
카메라 = 입장 프레임에 위치만 순간이동하고 회전은 4%/프레임만 도는 원본 CamStatus 0 가지(RealCamera.cs:199·208)와
StageDirector.Enter 의 PC 워프가 원인. WLDungeonCameraRig 를 실행순서 -100 으로 당겨 LateUpdate 에서
최종 구도로 즉시 앉히고, 던전 로딩 화면은 정착·입장 뒤에 닫게 했다. 원본 0줄 · 되돌리기 SO 스위치 4개.

실측(프레임별 · 전→후): 회전 튐 0.46°+6.89° → 0.00°+0.00° · 워프 뒤 2 m 추적 지연 → 0.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 00:55:38 +09:00
깃 관리자 ed4c305b20 [WL-816] 섬 카메라 거리 SO 화 — FI PlayerVirtualCamera(FramingTransposer) 22→15 m 를 섬 로드 때 덮음 (PD 「섬도 더 가까이」 · #816)
- WLIslandSceneSetup.ApplyIslandCameraDistance: 섬 씬의 Cinemachine 가상 카메라(islandVcamName)의 m_CameraDistance 를 islandCamDistance 로. FI 씬·코드 0줄.
- WLIslandSettings: islandCamDistance 15 · islandVcamName PlayerVirtualCamera 신설 · camDistance 는 기준 기록값 22 로 복원(던전은 dungeonCamDistance 13).
- 되돌리기 = islandCamDistance 0.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 00:46:35 +09:00
깃 관리자 6cb9f40944 [WL-816i2] 던전 재입장 시 전투가 시작되지 않던 것 수정 (#816)
- 원인(실측): 전투 시작 신호는 RealCamera 의 카메라 연출이 끝날 때 나온다 —
  PCActor.StartCam → Set_Target(pc, CamRot_Portal) → CamStatus=0 + list_tfCamactionTarget.Add(pc)
  → LateUpdate 가 목록을 다 비우면 Start_Game() → ActorInfo.All_Stop(false) + DungeonInfo.Start_Dungeon.
  그런데 원본에 그 목록을 비우는 곳이 없어 맵을 바꾸면 **죽은 Transform** 이 남고,
  재입장 때 `camTarget.position`(RealCamera.cs:199)이 MissingReferenceException 을 던져
  LateUpdate 가 매 프레임 끊긴다 → Start_Game() 이 영영 안 불려 전투가 멈춘 채로 남는다.
  (816i 가 Get_PortalPos 콜백을 되살리기 전에는 이 경로 자체가 안 돌아 드러나지 않았다.)
  → 죽은 항목만 걷어내고, 비면 지금 대상을 한 개 채운다(원본 0줄 · SO 로 끔).
- 같은 씬을 쓰는 던전(1·3 = WL_Dungeon01, 2·4 = WL_Dungeon02)에서 씬 이름으로만 찾느라
  **언제나 앞 줄**의 스테이지가 돌던 것 수정 — 입장 요청(Pending)을 우선한다.
  실측: 던전 3 입장 시 stageIndex 12·보상 192(전에는 10·96).
- 던전 전용 카메라 거리(dungeonCamDistance)를 SO 에 분리(섬 값은 그대로).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 18:06:38 +09:00
깃 관리자 84ade4b619 [WL-816i] 던전 진입 에러 제거 + 카메라 구도 고정 (#816)
- "Screen position out of view frustum" 의 진짜 원인을 실측으로 확정: 좌표가 화면 밖이라서가 아니라
  **카메라 투영이 깨졌을 때**만 난다(near==far · 직교 size ≤ 0 · aspect ≤ 0). 꺼진 카메라는 무관.
  → 깨진 투영을 찾아 되살리는 감시(0.5초 주기 · SO 로 끔) 추가.
- 섬 카메라 실측값(각 45° · 거리 22 m · FOV 60 · 원근 · 고정 방향)을 SO 에 담아 던전에 적용.
  RealCamera 의 (cameraHeight, DistanceAway, DistanceUp, rotateAround) 로 역산해 넣는다.
- 이동 방향 리드(#755) 배율을 SO 로 노출(기본 1 = 지금 그대로 · 0 이면 섬과 완전히 같은 고정 구도).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 17:29:40 +09:00
깃 관리자 f2e89653ed [WL-816i] 던전 진입 MissingReference 제거(맵 노드 1개로 상주) + 섬 구도 카메라 (#816)
- LoadMapMgr 파생 노드를 씬마다 새로 만들지 않고 DontDestroyOnLoad 하나로 상주시킨다.
  씬 전환에서 파괴된 노드를 정적 Ins 가 계속 가리켜 Get_PortalPos 의 StartCoroutine 이
  MissingReferenceException 을 내던 것을 없앤다(원본 LoadMapMgr.cs 0줄 · 파생 + private 필드 주입).
- 맵 프리팹이 없어 m_MapData 가 영원히 null 이라 Co_Get_PortalPos 가 끝나지 않던 것도 함께 해결 —
  꺼진 오브젝트에 런타임 MapData 를 만들어 넣는다(MapData.Awake/Start 미실행 = RenderSettings 무변경).
- 던전 씬의 아레나 룩 카메라(직교 · MainCamera 태그)가 전투 화면을 차지하던 것을 끄고
  전투 카메라(RealCamera)만 남긴다.
- WLDungeonCameraRig — 섬(FI Cinemachine) 실측 구도(각 45° · 거리 22 m · FOV 60 · 원근)를
  던전 카메라에 그대로 적용한다. 값은 WLIslandSettings SO.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 17:14:48 +09:00
깃 관리자 b661d16bb1 [WL-816g] 발판 1회성(자리마다 한 번) + 새 타일 외곽선 맞춤 + 던전 로딩 보정 (#816)
PD 추가 지시 2건.

① 「던전 열기는 한 번만 · 이후 같은 자리에 또 등장하면 안 된다」
   던전 한 줄 = 발판 한 자리(`WLDungeonDef.platformUseFarm`·`platformPosition`).
   값을 치르면 그 자리는 영영 비고 다음 발판은 표가 지정한 **다른 자리**에 선다.
   해금 수는 PlayerPrefs 에 남겨 껐다 켜도 유지된다(실측: Play 재시작 후에도
   던전 1 그대로 · 밭 자리 발판 없음 · 다음 발판만 (-2,0,-2) 가격 30).
   FI `RefreshIsland` 의 가격표 재생성이 우리 발판을 되살리지 않는 것도 실측
   (섬 확장 4→5칸 후 발판 수 1 유지 · 자리 그대로).
   덤으로, 골드가 많을 때 가만히 서서 던전이 연달아 팔리던 것도 막았다.

② 던전 진입 멈춤
   던전 씬에는 `MobControlMgrList` 가 0개다(실측: WL_Dungeon01·02·ArenaProto 전부 0).
   섬과 같은 이유로 로딩 칸 0 이 안 찬다 → 던전 표의 씬 이름을 로딩 보정 대상에 포함.

③ §1 남은 몫 — 새로 연 타일이 `WL/HullOutline` 패스를 못 받아(슬롯 1 vs 2)
   경계에서 테두리 유무가 갈렸다. 열린 직후 기존 타일의 머티리얼 배열을 그대로
   물려준다(새 머티리얼 0개). 실측: 8칸 전부 재질 조합 1가지.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 16:42:33 +09:00
깃 관리자 71d29a4621 [WL-816g] 초기 발판·던전 해금 흐름 — 밭·던전 숨김 + FI Purchaser 재사용 + 시작 골드 10 (#816)
PD 지시 3건 중 §2·§3.

- 초기 상태: 밭(Farm·Soil) 렌더러·콜라이더만 끄고(오브젝트는 살려 둔다 —
  끄면 섬 확장 때 FI 가 꺼진 오브젝트에서 코루틴을 시작해 콘솔 에러가 난다),
  던전 입구는 해금한 수만큼만 세운다. 처음에는 0개.
- 발판 = FI 가 섬 확장에 쓰는 **가격판 프리팹 그대로**(PD 정정: 새 모델 금지).
  실측으로 프리팹 렌더 범위를 재서 밭 한가운데·바닥 바로 위로 맞춘다
  (원본은 물 위 y≈-0.5 에 눕도록 돼 있어 섬 위에 그냥 놓으면 지면 아래로 들어간다).
- 지불도 FI `Purchaser` 그대로 — 보이지 않는 더미 `Island` 를 대상으로 물리고
  그 `OnActivated`(public event)를 받아 던전 표의 한 행을 켠다. FI 코드·프리팹 0줄.
- 시작 골드 500 → 10. `IslandManager.Awake` 안에 이미 있던 1줄 훅(세이브 이름)
  시점에서 `startingMoney` 를 바꾼다 = FI 새 줄 0.
- 던전 하나 = 발판 한 자리. 값을 치르면 그 자리는 영영 비고 다음 발판은 다른 자리.
- 던전 씬도 `MobControlMgrList` 가 0개라 로딩 칸 0 이 안 찬다 → 던전 표의
  씬 이름을 로딩 보정 대상에 포함.

되돌리기: `WLIslandSettings.gateFlowEnabled = 0` 하나로 지금 상태 100 %.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 16:42:32 +09:00
깃 관리자 cac7889ec0 [WL-816d] 던전 NavMesh 를 콜라이더 기준으로 베이크(에러 100건 제거) + 한글 폰트 + 입구 위치 실측 반영 (#816)
- NavMeshSurface.useGeometry = PhysicsColliders — RenderMeshes 기본값은 메시 Read/Write 를 요구해 콘솔 에러 100건(실측)
- 베이크 후 앵커 위 NavMesh 존재를 로그로 남긴다(WL_Dungeon01 실측: (0,0.07,0) 있음)
- 이름표·「들어가기」 버튼에 한글 TMP 폰트 지정(기본 폰트에는 한글 글리프가 없어 □ 로 나왔다)
- 던전 3 입구를 덤불 위치에서 (2.5,0,11) 로 이동(에디트 모드 레이캐스트 실측)
- 던전 입장 시 프롬프트 숨김

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 12:47:45 +09:00
깃 관리자 6fa7a421d3 [WL-816d] 섬 카메라 소유권 + WL PC 비동기 생성 대응 + NavMesh 기본값 사용 (#816)
- NavMeshSurface 기본값(collectObjects=All · useGeometry=RenderMeshes)을 그대로 쓴다(게이트 PASS)
- 섬 카메라 소유권 SO(islandCameraOwner 기본 1 = FI 카메라) · 떠날 때 되살림
- WL 전투 PC 는 Addressables 콜백으로 늦게 생긴다 → hidePcWatchSeconds 동안 감시해 숨김
- 프로브 전용 DebugSceneOverride(던전 복사본 씬 미등록 구간 검증용)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 12:34:24 +09:00
깃 관리자 c2972b5264 [WL-816d] 섬×던전 왕복 1차 배선 — WL/Island 새 파일 6개 + 던전 씬 2개 + 표 행 9개 (#816)
- 새 파일 Assets/WL/Island/** : 설정 SO · 브리지 · 섬 씬 런타임 준비 · 던전 입구 더미 · 던전 씬 런타임 준비 · UI
- 던전 씬 = WL_ArenaProto 복사본 2개(원본은 룩 개발용으로 그대로)
- 표: BattleMapConfig 5행(섬 900 · 던전 901~904) · WLStageTable 4행(인덱스 10~13 · 앵커 0,0,0)
- 값 2개(816c 실측): autoEnterOnMapEnter 1→0 · 클리어/실패 버튼 「로비로」→「섬으로」
- 원본 수정 = NewGameUI.cs:36 1줄(StartMapId 훅)뿐 · FarmingIsland 0줄 · ProjectSettings 0

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 12:26:54 +09:00