Commit Graph

239 Commits

Author SHA1 Message Date
깃 관리자 b52c99d714 fix(BT12-Dev): 적 조준 하단 보정 0.5 → 0.25 (PD 지시 2026-05-14)
PD 보고 — 0.5 하단 보정 영역 너무 하단. 이전 (0)·1차 (0.5) 중간 0.25 영역 변경.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:26:13 +09:00
깃 관리자 eb33e6414b feat(BT12-Dev): 피격 이펙트 sortingOrder +100·적 추적 각도 하단 보정 (PD 지시 2026-05-14)
작업 1 — 피격 이펙트 상위 sortingOrder:
- Projectile.OnTriggerEnter2D OnHitFx — Renderer.sortingOrder += 100
- LightningStrikeSpawner OnHitFx + ExtraHitFx — 동일
- MeleeAreaSpawner fxGo — 동일
- LaserSpawner fx — 동일
- Enemy SpriteRenderer 영역 위·뒤쪽 가림 회피

작업 2 — 적 추적 각도 하단 보정:
- ProjectileSpawner.Trigger TargetEnemyOnFire 영역 toEnemy.y -= 0.5
- 적 transform.position 영역 상단 영역·hitbox 영역 영역 영역 적중 정합
- A08 영역 영역 영역 영역 영역 영역 적 hitbox 영역 영역 영역 적중

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:23:40 +09:00
깃 관리자 55ee4f390b feat(BT12-Dev): A08 캐스팅 제거·Player spawn·가장 가까운 적 방향 발사 (PD 지시 2026-05-14)
작업 1 — 캐스팅 이펙트 제거:
- A08.asset OffsetDistance.x 1.5 → 0 (Player 위치 spawn)
- A08.asset CastFxPrefab null

작업 2 — 가장 가까운 적 방향 발사:
- ActiveSkillData.TargetEnemyOnFire (bool) 신규 필드
- ProjectileSpawner.Trigger — TargetEnemyOnFire=true 시 FindObjectsByType<EnemyController> 영역 nearest 검출·facing = (enemyPos - playerPos).normalized
- 적 0명 시 PlayerController.Facing fallback (기존 정합)
- A08.asset TargetEnemyOnFire=1

벽·발판 관통 X — Projectile.Update 영역 Layer 0·16 OverlapPoint 영역 영역 영역 정합 (변경 X).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:07:25 +09:00
깃 관리자 2ee5084230 fix(BT12-Dev): Projectile 자연 fade SelfDestruct (PD 지시 2026-05-14)
원인: SelfDestruct 영역 즉시 Destroy(gameObject) → ParticleSystem 영역 진행 영역 trail·glow particle 즉시 사라짐 → 발사 영역 영역 영역 매번 시각 cut → "뚝뚝 끊기는" 인식.

fix:
- _fadeOutStarted flag — 중복 호출 차단
- Collider2D·_debugBoxTransform disable — 판정 종료
- _speed = 0 — 이동 정지
- ParticleSystem.Stop(true, StopEmitting) — emission 정지·기존 particle 자연 fade
- Destroy(gameObject, 0.5f) — 0.5s 후 Destroy (기존 particle lifetime 영역 자연 fade 완료)
- FADE_START_RATIO 0.8 → 0.85 (sprite fadeout 영역 영역 영역·자연 영역 영역)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:02:47 +09:00
깃 관리자 6ed6efe6a2 fix(BT12-Dev): fx ParticleSystem.scalingMode = Hierarchy 전수 적용 (PD 지시 2026-05-13)
원인: fx.transform.localScale *= HitFxScale 영역 적용·그러나 ParticleSystem.MainModule.scalingMode 영역 = Local·Shape 영역 영역 영역 root scale 영역 영역 X·ParticleSystem 영역 자체 size 영역 영역 영역 영역.

fix: 모든 fx spawn 영역 ParticleSystem foreach 영역 영역 ScalingMode = Hierarchy 설정 + Play(true) 동시. Hierarchy 영역 = parent Transform scale 영역 정합 적용.

전수 적용 (7 파일):
- Projectile.OnTriggerEnter2D — OnHitFx
- ProjectileSpawner.Trigger — CastFx + ProjectilePrefab
- MeleeAreaSpawner.Trigger — fxGo
- LightningStrikeSpawner — OnHitFx + ExtraHitFx
- LaserSpawner.Trigger — fx
- PoisonSwampSpawner — swampGo + Marker.Tick fx
- SpiritFireSpawner — shieldGo

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:58:39 +09:00
깃 관리자 eab215db65 fix(BT12-Dev): A08 캐스팅 끝 spawn + Hit FX Player 위치 회피 grace (PD 지시 2026-05-13)
작업 1 — 캐스팅 이펙트 끝 지점 영역 투사체 발사:
- A08.asset OffsetDistance.x: 0 → 1.5
- ProjectileSpawner.Trigger 영역 spawnPos = playerPos + facing × 1.5 영역 캐스팅 끝 지점
- (FX_PinkArrow_Shoot 캐스팅 길이 영역 1.5 unit 추정·PD 측정 후 미세 조정 가능)

작업 2 — Hit FX 발사 시 Player 위치 발생 회피:
- 원인 추정: spawn 위치 = Player 위치 + OffsetDistance·작업 1 이전 OffsetDistance=0 영역 Player 위치 spawn → Player 근접 Enemy 즉시 hit → OnHit FX = Enemy 위치 ≈ Player 위치 → "Player에게 발생" 인식
- 작업 1 영역 spawn 위치 영역 Player 영역 1.5 우측 이동 → 자동 정정
- Projectile.OnTriggerEnter2D 영역 spawn 직후 0.1초 grace period 추가 (Time.unscaledTime - _spawnTime < 0.1f 영역 return) — 즉시 hit 차단·OnHitFx Player 위치 표시 회피

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:55:48 +09:00
깃 관리자 7ad3319e7c fix(BT12-Dev): A08 시전 이펙트 facing 방향 정합 + 진단 Log 회수 (PD 지시 2026-05-13)
원인: CastFx Instantiate 영역 = Quaternion.Euler(0, 0, data.FxRotation) (=0) 영역. FX_PinkArrow_Shoot sprite left 기본 → 시전 영역 sprite left 표시·Player right 발사 방향과 반대.

fix:
- ProjectileSpawner.Trigger CastFx — facing angle + ProjectileAngleOffset + FxRotation 적용 (Projectile 본체 동일 패턴)
- 진단 Debug.Log 2종 회수 ([ProjectileSpawner] card·CastFx spawned·[Projectile] OnHit) — fileID 정정 완료·root 원인 확정 후 revert

A08 영역 ProjectileAngleOffset=180 영역 정합 (sprite left → right) → CastFx·Projectile 동일 방향.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:51:27 +09:00
깃 관리자 447ea9200e fix(BT12-Dev): A06·A12.asset fileID 정정 (자성 #16 후속 일괄 정정)
본 PM 자성 #16 영역 fileID 측정 영역 잘못된 방법 영역 영역 = A06·A12 .asset 영역 동일 문제 일괄 정정.

정정:
- A06 OnDotFx fileID 1856636965874036819 → 3507146902299718551 (FX_Venom_Spray root)
- A12 OnHitFx fileID 215796562487493921 → 5983634136545354204 (FX_Icelight_Seal root)

정합 (변경 X):
- A06 OnHitFx fileID 113285305800631535 (FX_Venom_Swamp root·정합·우연)
- A11 OnHitFx fileID 1589202452151042601 (FX_Rotating shield root·정합)
- A_Laser·A02·A04·A13 영역 = PD 영역 직접 Inspector 영역 영역 영역 (본 PM 영역 직접 작성 X·영역 영역)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:46:46 +09:00
깃 관리자 b26eb42b82 fix(BT12-Dev): A08.asset OnHitFx·CastFx fileID 정정 (PD Inspector 측정 후 2026-05-13)
본 PM 자성 #16 (헌법급) — fileID 측정 영역 잘못된 방법 사용.

원인: 본 PM 직전 commit 5077f5d 영역 grep -m 1 "^--- !u!1 &" 영역 사용·**첫 GameObject** fileID 측정 → Unity prefab 영역 root GameObject 영역 X (자식 GameObject 영역).

PD Inspector 측정 결과:
- OnHitFx: "Fragments" (FX_PinkMagicArrow_Hit prefab 영역 자식 GameObject) → root 영역 정정
- CastFx: "sheet" (FX_PinkArrow_Shoot prefab 영역 자식 GameObject) → root 영역 정정

정정:
- OnHitFxPrefab fileID 1108032389789601088 → 7053558978182834975 (FX_PinkMagicArrow_Hit root)
- CastFxPrefab fileID 1571108645336829551 → 9207792929607053519 (FX_PinkArrow_Shoot root)

올바른 root fileID 측정 방법: awk 영역 m_Name == prefab name + m_Father=0 정합 GameObject ID.

재발 방지: prefab fileID 측정 시 첫 GameObject 영역 가정 X·반드시 m_Name + m_Father=0 정합 root 영역 확정.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:45:41 +09:00
깃 관리자 9879425efb fix(BT12-Dev): ProjectileSpawner CS1056 interpolated string escape fix (PD 보고 2026-05-13)
원인: 직전 aa6cef1 영역 Debug.Log interpolated string 영역 `\"NULL\"` escape 사용·C# interpolated string escape 미지원 → 컴파일 에러.

fix: ternary 결과 영역 변수 분리 (castName·projName·hitName).

본 PM 자성 #15 — Edit 후 컴파일 사전 검증 누락. Unity Editor 영역 컴파일 영역 영역 영역 본 PM 영역 X 영역 영역 = PD 영역 보고 후 영역. C# string escape 영역 사전 측정 의무.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:32:10 +09:00
깃 관리자 aa6cef1a7f fix(BT12-Dev): A08 시전·피격 FX 진단 Debug.Log (PD 보고 2026-05-13·회수 의무)
A08.asset 영역 ProjectilePrefab·OnHitFxPrefab·CastFxPrefab GUID 정합 측정 정합·코드 정합. 그러나 PD 영역 시전·피격 X 보고 → 실측 진단 필요.

진단 Log 2종 (회수 의무·PD Console 측정 후 본 PM revert):
- ProjectileSpawner.Trigger — [ProjectileSpawner] card·CastFx·ProjPrefab·OnHitFx 매핑 측정·CastFx spawn 확인
- Projectile.OnHit — [Projectile] OnHit card·OnHitFx spawn name·pos 확인

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:29:57 +09:00
깃 관리자 71c3b7d5da fix(BT12-Dev): A08 저주의 화살 sprite 방향 반대 fix (PD 지시 2026-05-13)
원인: FX_PinkMagicArrow prefab sprite 기본 방향 left·Projectile.Initialize 영역 atan2(facing)·우향 발사 시 sprite left 보임.

fix:
- ActiveSkillData.ProjectileAngleOffset (float, Range -360~360) 신규 필드 — prefab sprite 기본 방향 보정용
- Projectile.Initialize — angle = atan2 + ProjectileAngleOffset
- A08.asset — ProjectileAngleOffset 180 설정 (FX_PinkMagicArrow left → right 보정)

박스(판정) 영역 = 동시 회전·HitboxSize 대칭 가정 영역 영향 X.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:26:34 +09:00
깃 관리자 68843a8c44 fix(BT12-Dev): A12·A08·전수 FX ParticleSystem.Play(true) 명시 호출 (PD 지시 2026-05-13)
직전 b1b476a 영역 PoisonSwamp·SpiritFire 영역만 명시 Play 적용·나머지 4 Spawner + Projectile 영역 누락.

전수 적용:
- MeleeAreaSpawner.Trigger — OnHitFx (A05·A12 등) 영역 Play
- LightningStrikeSpawner.Trigger — OnHitFx·DelayedExtraHitFx Play
- LaserSpawner.Trigger — fx (A_Laser OnHit) Play
- ProjectileSpawner.Trigger — ProjectilePrefab (A02·A08 FX_PinkMagicArrow 등)·CastFxPrefab (A08 FX_PinkArrow_Shoot) Play
- Projectile.OnTriggerEnter2D — OnHitFx (A02·A08 등) Play

원인: 신규 import prefab 영역 playOnAwake 영역 정합 X 가능성 또는 Instantiate 시점 영역 Awake 호출 X·명시 Play 안전망 누락.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:22:02 +09:00
깃 관리자 ebd0808034 feat(BT12-Dev): A11 정령불 frame 기반 playback 제어 (PD 지시 2026-05-13)
FX_Rotating shield.anim 측정 정합 (m_SampleRate 60·m_StopTime 2.8166666·총 169 frame).

PD 명시 영역 제어:
- intro: 1~88 frame (0~1.4667s)
- loop: 89~105 frame 반복 (17 frame·0.2833s)
- outro: 남은 frame (106~169 → 1.7500~2.8167s·1.0667s) — duration 종료 전 자동 재생

SpiritFireInstance.Init:
- Animator 캐싱·updateMode = UnscaledTime
- speed=1 (normalizedTime 직접 제어)

SpiritFireInstance.Update:
- elapsed < introEnd → linear sample
- elapsed < outroStart → loop range modulo
- elapsed >= outroStart → outro linear (duration - outroLength 영역)
- Animator.Play(STATE_HASH, 0, normalizedTime) 매 frame 호출

STATE_HASH = Animator.StringToHash("Base Layer.FX_Rotating shield")

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:18:45 +09:00
깃 관리자 b1b476a061 fix(BT12-Dev Phase B): FX 재생 X — ParticleSystem 명시 Play + Collider 자식 분리 (PD 보고 2026-05-13)
원인 추정:
- PoisonSwampInstance 영역 BoxCollider2D·Rigidbody2D 영역 FX root 직접 부착 → ParticleSystem 영역 영향 가능
- Instantiate playOnAwake 정합·그러나 명시 Play() 호출 안전망 영역 누락

fix:
- PoisonSwampSpawner.Trigger — FX root 영역 GetComponentsInChildren<ParticleSystem>(true) 영역 명시 ps.Play(true)
- PoisonSwampInstance — BoxCollider2D·Rigidbody2D 영역 자식 GO 분리 (PoisonSwamp_Collider)·FX root 영역 visualRoot 보관·duration 종료 시 함께 Destroy
- PoisonedEnemyMarker.Tick — FX_Venom_Spray 영역 동일 ParticleSystem.Play(true) 명시 호출
- SpiritFireSpawner.Trigger — 동일 명시 Play(true) 호출

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:10:32 +09:00
깃 관리자 f292eb4fb3 feat(BT12-Dev Phase B): A06 독 늪·A11 정령불 신규 + 1키·2키 매핑 (PD 지시 2026-05-13)
신규 Effector 2종:
- PoisonSwampSpawner — Category C (PlacementPersistent)
  · 가장 가까운 적 위치 spawn·6초 유지·BoxCollider2D isTrigger·Kinematic Rigidbody2D
  · PoisonSwampInstance — OnTriggerStay 영역 적 마킹·PoisonedEnemyMarker 부착·duration 5초 갱신
  · PoisonedEnemyMarker — 매 초 10 피해·FX_Venom_Spray 자식 spawn (DotFxPrefab)·duration 만료 시 자가 소멸
- SpiritFireSpawner — Category D (Minion)
  · Player 자식 spawn·8초 유지·OverlapCircle radius 2.5
  · SpiritFireInstance — 매 초 근접 적 5 피해·Time.unscaledTime 영역 lifecycle

SkillFireEvent.Execute switch 확장:
- PlacementPersistent case → PoisonSwampSpawner
- Minion case → SpiritFireSpawner

A06 독 늪 .asset 신규 — Category 2·BaseCooldown 10·BaseDamage 10·OnHitFxPrefab=FX_Venom_Swamp·OnDotFxPrefab=FX_Venom_Spray
A11 정령불 .asset 신규 — Category 3·BaseCooldown 15·BaseDamage 5·MinionLifetime 8·OnHitFxPrefab=FX_Rotating shield

SkillRuntimeFactory.AvailableCardIds — A06·A11 추가 (7→9종)
TestSkillFireOn1to5 — PoisonSwamp·SpiritFire 인스턴스 신규·Category 분기 추가 (CardId 기반 MeleeArea 분기 정합)

PD Inspector 영역 — Player.prefab TestSkillFireOn1to5 Skill1=A06·Skill2=A11 .asset drag&drop 필요.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:06:59 +09:00
깃 관리자 5077f5dd3f feat(BT12-Dev Phase A): A12 정화의 빛 신규·A08 저주의 화살 이펙트 적용 (PD 지시 2026-05-13)
신규 ActiveSkillData 필드:
- CastFxPrefab — 시전 FX (발사 시점 Player 위치 spawn·비주얼 전용)
- ProjectileSpawner.Trigger 영역 CastFxPrefab spawn 처리 (HitFxScale·FxRotation·FxAutoDestroyUnscaled 2초 cap)

A08 저주의 화살 이펙트 적용 (.asset 수정):
- ProjectilePrefab = FX_PinkMagicArrow
- OnHitFxPrefab = FX_PinkMagicArrow_Hit
- CastFxPrefab = FX_PinkArrow_Shoot
- MaxRange 6·ProjectileSpeed 8 (단거리 빠른 발사)
- OffsetDistance float 0.5 → Vector2 (0,0) (직전 필드 전환 정합)

A12 정화의 빛 신규 (.asset 신규):
- Category 1 (MeleeArea·MeleeAreaSpawner 발동)
- BaseCooldown 5·BaseDamage 15·HitboxSize 4×4·AttributeTags 4 (Frost)
- OnHitFxPrefab = FX_Icelight_Seal

SkillRuntimeFactory.AvailableCardIds — A08·A12 추가 (카드 풀 5→7종)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 23:01:24 +09:00
깃 관리자 b23e00fd65 fix(BT12-Dev): ParticleGroupView InputSystem 전환·activeInputHandler revert (PD 지시 2026-05-13)
PD 지시 — 스크립트 유지·버그만 fix.

ParticleGroupView (2).cs 변경:
- using UnityEngine.InputSystem·UnityEngine.InputSystem.UI 추가
- StandaloneInputModule → InputSystemUIInputModule (L110)
- Input.GetKeyDown(KeyCode.X) → Keyboard.current.xxxKey.wasPressedThisFrame (L155·161·167)

ProjectSettings activeInputHandler 2 → 1 revert (PD 의도 Input System Package only 보존).

본 PM 자성 #14 — 직전 commit b30976a 영역 미승인 .cs 삭제 사건 정정·.cs 유지·버그만 fix 정합.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 22:11:56 +09:00
깃 관리자 b30976afb7 fix(BT12-Dev): Input System·StandaloneInputModule InvalidOperationException fix (PD 보고 2026-05-13)
원인:
- Unity Input System Package 활성 (activeInputHandler=1) + UGUI 영역 StandaloneInputModule 영역 어딘가 자동 부착 → UnityEngine.Input.mousePosition 호출 → InvalidOperationException
- Assets/Scenes/ParticleGroupView (2).cs (Scenes 폴더 영역 비정상 .cs·미사용·StandaloneInputModule 동적 부착 코드) — working tree 영역 삭제

fix:
- ProjectSettings.asset activeInputHandler: 1 → 2 (Both: 두 입력 시스템 호환)
- 기존 Input System Package 코드 (PlayerController·InputSystem_Actions·TestSkillFireOn1to5) 영향 X

본 PM 자성 #13 — Asset Package import 영역 ParticleGroupView (2).cs 영역 Scenes 폴더 영역 비정상 위치·미사용 잠재 위험 코드 사전 측정 누락.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 22:04:36 +09:00
깃 관리자 ebedf6d9ee fix(BT12-Dev): A04 번개 충격 적 유무 무관 자동 발동 (PD 지시 2026-05-13)
원인: LightningStrikeSpawner.Trigger 영역 candidates.Count == 0 시 즉시 return → 적 0명 영역 발동 X.
fix: candidates 0 시 Player 위치 영역 fallback (primaryPos = inventory.transform.position) → 일정 쿨타임 자동 발동.

A05 MeleeAreaSpawner·A_Laser LaserSpawner = Player 위치 기준 발동·적 무관 영역 이미 정합.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 20:28:19 +09:00
깃 관리자 26b0666912 feat(BT12-Dev): MeleeArea 실전 발사 연결 + FX AutoDestroy unscaledTime (PD 지시 2026-05-13)
작업 1 — 스킬 배워도 이펙트 X fix:
- SkillFireEvent.Execute — MeleeArea case 추가 (CardId 분기·TestSkillFireOn1to5 동일 패턴)
  - A04 → LightningStrikeSpawner
  - A_Laser → LaserSpawner
  - 기타 → MeleeAreaSpawner

작업 2 — 맵 이동 중 이펙트 잔상 재발 fix:
- 원인: Object.Destroy(fxGo, t) 영역 second timer 영역 Time.timeScale 영향·timeScale=0 (LevelUp) 영역 호출 정지
- 신규: FxAutoDestroyUnscaled MonoBehaviour — Update 영역 unscaledTime lifetime check 자가 Destroy
- ProjectileSpawner·Projectile·MeleeAreaSpawner·LaserSpawner·LightningStrikeSpawner 모두 영역 Object.Destroy(fx, t) → FxAutoDestroyUnscaled.Attach
- LightningStrikeSpawner.DelayedExtraHitFx — WaitForSeconds → WaitForSecondsRealtime (timeScale=0 영역 정합)

본 PM 자성 #12 — feedback_new_code_existing_system_dependency_unmeasured 위반. Object.Destroy(go, t) 영역 timeScale 영향 사전 측정 누락 (Unity 표준 API).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 20:26:40 +09:00
깃 관리자 41fa4e4ce7 chore(BT12-Dev): 진단 Debug.Log 회수 (PD 정합 작동 확인 후)
회수 5종:
- ProjectileSpawner.Trigger — [ProjectileSpawner] Trigger
- Projectile.Initialize — [Projectile][Initialize]
- Projectile.SelfDestruct — [Projectile][SelfDestruct]
- Projectile.OnDestroy (메서드 자체) — [Projectile][OnDestroy]
- EnemyController.Update — [EnemyHit][Intersect]·[EnemyHit][Decrement]

보존:
- Projectile.Update lifetime backup SelfDestruct (Log 영역 제거·동작 영역 유지·잔존 차단)
- Initialize 시 CancelInvoke (안전망 유지)

feedback_pm_root_diagnosis_priority 정합 — 근본 원인 (Time.timeScale=0 영역 Invoke 정지·NullReferenceException race) 확정·fix 정합 후 진단 Log revert.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 20:24:05 +09:00
깃 관리자 705d943e38 fix(BT12-Dev): Projectile unscaledTime — Time.timeScale=0 영역 영구 잔존 차단 (PD 지시 2026-05-13)
근본 원인:
- Time.timeScale=0 (LevelUp 카드 선택 모드) 영역 Time.time 정지 → Invoke(SelfDestruct, lifetime) 영역 호출 X → 영원 잔존
- _spawnTime = Time.time 영역 = lifetime backup check 영역 영역 X

fix:
- _spawnTime = Time.unscaledTime (timeScale 무관)
- Update 영역 lifetime check — Time.unscaledTime - _spawnTime > _lifetime 영역 강제 SelfDestruct
- Wall grace period — Time.unscaledTime 영역 정합
- Invoke 폐기·CancelInvoke 추가 안전 (Initialize 영역 잔존 Invoke 차단)

본 PM 자성 #11 — Time.time vs Time.unscaledTime 영역 사전 측정 누락. Projectile 영역 lifecycle 영역 timeScale 영역 영향 영역 사전 측정 의무 누락.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 20:21:25 +09:00
깃 관리자 b1931afa15 fix(BT12-Dev): 사망 팝업 타이밍·y -0.6·투사체 lifetime 강화 (PD 지시 2026-05-13)
작업 1 — 죽는 모션 종료 시점 팝업 UI:
- LevelUpManager — Player 사망 상태 영역 HandleLevelUp 호출 시 _pendingLevels 영역 저장
- Update 영역 매 frame Player IsAlive·!_isLevelUpActive check → pending 영역 ShowLevelUpUI 표시
- 죽는 모션 동안 LevelUp 즉시 표시 X·부활 후 표시

작업 2 — Player 사망 모션 y -0.3 추가 (누적 -0.6):
- PlayerDeath.Execute — new Vector3(0f, -0.6f, 0f)

작업 3 — 투사체 잔상 강화 fix + 진단:
- Projectile.Update — lifetime + 0.5 backup 강제 SelfDestruct (Invoke 누락 안전망)
- Projectile.Initialize — [Projectile][Initialize] 진단 Log (회수 의무)
- ProjectileSpawner.Trigger — [ProjectileSpawner] 진단 Log (회수 의무)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 20:18:31 +09:00
깃 관리자 1437720e50 fix(BT12-Dev): Projectile NullReferenceException + 잔존 fix (PD 보고 2026-05-13)
원인: ProjectileSpawner.Trigger 영역 BoxCollider2D.isTrigger=true 활성 (단계 2) 직후·Initialize (단계 3) 이전 OnTriggerEnter2D 발화 가능 → _runtime=null → NullReferenceException line 187 → SelfDestruct 미호출 → 영구 잔존.

fix:
1. OnTriggerEnter2D 영역 `_runtime == null || _data == null` defensive return
2. Update 영역 `_data == null` 시 즉시 SelfDestruct (잔존 차단)

본 PM 자성 #10 — race condition 사전 측정 누락. ProjectileSpawner.Trigger 영역 collider 부착 시점·Initialize 호출 시점 영역 사이 OnTriggerEnter2D 발화 가능성 사전 측정 X.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 20:12:51 +09:00
깃 관리자 69a18052a0 fix(BT12-Dev): Player 죽는 모션·부활 물리·투사체 진단 (PD 지시 2026-05-13)
작업 1 — Player 죽는 모션 X fix:
- PlayerDeath.Execute — SetTrigger("hurt") → SetTrigger("hit") (Player.controller parameter 정합: velocityX·velocityY·grounded·attack·dead·hit·combatidle·resurrect·hurt 없음)
- animator.updateMode = AnimatorUpdateMode.UnscaledTime 추가 (EnemyDeath 영역 동일·timeScale=0 영향 차단)

작업 2 — 부활 모션 중 움직임 fix:
- PlayerSpawn.Execute — Rigidbody2D.simulated=true 복원 폐기 (즉시 X)
- EnablePlayerInput.Execute — Rigidbody2D.simulated=true 복원 추가 (2초 후·부활 모션 종료 시점)
- using UnityEngine 추가 (CS0246 회피)

작업 3 — 투사체 잔상 진단 (회수 의무):
- Projectile.SelfDestruct — [Projectile][SelfDestruct] Debug.Log
- Projectile.OnDestroy — [Projectile][OnDestroy] Debug.Log (Destroy 외 경로 검출용)
- PD Console 측정 결과 영역 본 PM 근본 fix 후 revert

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 20:10:11 +09:00
깃 관리자 c052d78114 fix(BT12-Dev): PlayerSpawn.cs CS0246 컴파일 에러 — using UnityEngine 누락 (PD 보고 2026-05-13)
이전 commit 3a672f0 영역 Rigidbody2D 참조 추가 시 using UnityEngine 영역 누락.
fix: 첫 줄에 using UnityEngine 추가.

본 PM 자성 #8 — 신규 type 영역 (Rigidbody2D) 사용 영역 namespace using 영역 사전 검증 누락.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 20:04:44 +09:00
깃 관리자 3a672f0591 fix(BT12-Dev): Player 사망 제자리·부활 모션·무적 + FX 잔상 safety cap (PD 지시 2026-05-13)
작업 1 — Player 사망 사라지는 현상 fix:
- PlayerDeath.Execute — Rigidbody2D.simulated=false (gravity 정지·제자리 사망·낙사 차단)

작업 2·3 — 제자리 부활·부활 모션·2초 무적 깜박:
- PlayerSpawn.Execute — Teleport 폐기 (spawn point 영역 → 제자리)
- player.health.Resurrect() 호출 (currentHP=maxHP·invulnerableUntil=2초·Animator dead=false·resurrect Trigger)
- Rigidbody2D.simulated=true 복원
- PlayerInvulnerabilityFlash 영역 IsInvulnerable 자동 깜박 (2초)
- 2초 후 EnablePlayerInput (조작 가능)

작업 4 — FX 잔상 safety cap 5초:
- LaserSpawner.Trigger — fx Object.Destroy 누락 fix (LaserSpawner 영역 본 영역 영역 영역 직접 원인 가능)
- LightningStrikeSpawner.AutoDestroyFx — cap
- MeleeAreaSpawner.Trigger — cap
- Projectile.AutoDestroyOnParticleEnd — cap

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 20:02:43 +09:00
깃 관리자 ebd7086a53 fix(BT12-Dev): 투사체끼리 충돌 X·통과 정합 (PD 지시 2026-05-13)
Projectile.OnTriggerEnter2D 영역 동족 Projectile skip (Wall·Enemy 판정 이전).

원인: fallback Projectile GO 영역 default Layer 0 영역 → 다른 Projectile 영역 isWall=true 판정 → 양쪽 SelfDestruct.
fix: other.GetComponent<Projectile>() != null 시 즉시 return.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 19:55:17 +09:00
깃 관리자 56a4a362a5 fix(BT12-Dev): 사망 y -0.5→-0.3 + 게임 시작 파이어볼 정지 fix (PD 지시 2026-05-13)
작업 1 — 사망 모션 y -0.5 → -0.3 (EnemyDeath·PlayerDeath)

작업 2 — 게임 시작 시 파이어볼 투사체 정지·잔존 fix:
- ProjectileSpawner.Trigger — facing.sqrMagnitude < 0.01f 시 Vector2.right fallback
- 원인: Player.Facing 영역 (0,0) 영역 → _direction = (0,0) → _speed × deltaTime × (0,0) = 0 → 정지

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 19:53:59 +09:00
깃 관리자 32ab76fcde feat(BT12-Dev): 스킬 선택 UI 아이콘 fallback 추가 (PD 지시 2026-05-13)
SkillCardSlot.Bind 영역 card.Icon == null fallback:
- _icon — 동적 원 sprite (32×32 알파) + 속성별 색상 (Fire 주황·Frost 하늘·Dark 보라·Lightning 노랑·Physical 흰)
- _glowEffect — 동일 sprite + alpha 0.3 (동심원 빛 효과 정합)
- GetFallbackIconSprite·GetColorByAttribute static helper (정적 캐싱)
- card.Icon 설정 시 정상 sprite 사용 (PD 후속 정식 아이콘 자산 추가 시 자동 정합)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 19:51:27 +09:00
깃 관리자 18b21256cd fix(BT12-Dev): Enemy·Player 사망 모션 y -0.5 오프셋 (PD 지시 2026-05-13)
EnemyDeath·PlayerDeath Execute 영역 death Animator Trigger 직전 transform.position.y -= 0.5 적용.
sprite 위로 떠 보이는 현상 정정·collider·gameplay 영향 X (Enemy 1초 후 Destroy·Player PlayerSpawn 시 위치 reset).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 19:49:28 +09:00
깃 관리자 2efcd34177 fix(BT12-Dev): Player 피격 distance 기반 강화 + Enemy HP 자동 fallback (PD 보고 재발 2026-05-13)
작업 1 — Enemy HP 30~40 자동 fallback:
- Health.Awake — RandomMaxHPRange 미설정 + EnemyController 존재 검출 → maxHP = Random.Range(30, 41) 자동
- PD Inspector 설정 의존 폐기 (PD가 매번 직접 영역 안전 X)

작업 2 — Player 피격 distance 기반 강화 + 진단 Debug.Log (회수 의무):
- EnemyController.Update — VisualBounds.Intersects OR distance < 1.5f 단일 조건 fix
- [EnemyHit] 단일 prefix Debug.Log — dist·boundsHit·distHit·invuln·Enemy/Player pos·t
- PD Console 측정 결과 영역 근본 fix 후 본 PM revert
- 본 PM 자성 #7 — 직전 IsGrounded 폐기 fix 효과 X 자인·다른 가설 (Bounds 미 교차) 강력화

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 19:45:53 +09:00
깃 관리자 b4847b1545 fix(BT12-Dev): Player 피격 X — IsGrounded 조건 폐기 + Enemy HP 30~40 random (PD 지시 2026-05-13)
작업 1 — Player 피격 X fix:
- EnemyController.Update L387-396 — IsGrounded 조건 폐기 + 진단 Debug.Log 2종 revert
- PD 명시 "닿아도 피해" = ground·공중 무관 피격 (직전 2026-05-11 "공중 통과" 명시 폐기)
- VisualBounds.Intersects(Player.Bounds) + !IsInvulnerable 단일 조건

작업 2 — Enemy HP 30~40 random:
- Health.RandomMaxHPRange (Vector2Int) Inspector 필드 신규
- Health.Awake — RandomMaxHPRange.x>0 시 maxHP = Random.Range(min, max+1)·maxHearts 자동 산정·currentHP 갱신
- Enemy.prefab Inspector RandomMaxHPRange = (30, 40) PD 직접 설정 필요

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 19:42:12 +09:00
깃 관리자 0ad1325be8 feat(BT12-Dev): 게임 시작 시 기본 파이어볼 A02 자동 습득 (PD 지시 2026-05-13)
- PlayerSkillInventory.StartingCardIds (string[]) Inspector 필드 신규 — 기본 { "A02" }
- Start() 메서드 신규 — Resources 로드 완료 후 시점에 AddSkillByCardId 일괄 호출
- 다중 스킬 지원·잘못된 CardId 자동 skip (AddSkillByCardId LogWarning 정합)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 19:38:36 +09:00
깃 관리자 e8779df125 fix(BT12-Dev): A05·A_Laser 박스 시각 off 정정 + Player 피격 X 진단 Debug.Log
작업 1 — A05·A_Laser 박스 SpriteRenderer.enabled 누락 정정:
- MeleeAreaSpawner·LaserSpawner 영역 직접 GO 생성·SpriteRenderer 부착 (HitboxDebug 미경유 영역).
- sr.enabled = HitboxDebug.ShowDebugVisuals 1줄 추가 (재활용 toggle 정합).

작업 2 — Player 피격 X 진단 Debug.Log 추가 (회수 의무):
- EnemyController.Update L387-396 — VisualBounds.Intersects(Player.Bounds)·IsGrounded·IsInvulnerable 측정.
- [EnemyHit][Intersect] (조건 측정)·[EnemyHit][Decrement] (실제 호출) 2종 prefix.
- PD Console 측정 후 본 PM 가설 검증·근본 fix 후 Debug.Log 회수.
- 본 PM 가설: (1) Enemy patrol 거리 영역 Player 근접 X (2) Enemy maxHearts=1 자동 공격 즉시 처치 (3) IsGrounded false 영역 통과.

feedback_pm_root_diagnosis_priority 정합 — 가설 추정 사전 진단 우선.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 19:32:34 +09:00
깃 관리자 d26bd837ea feat(BT12-Dev): 디버그 시각화 off 토글·레벨업 카드 풀 5종 한정 (PD 지시 2026-05-13)
작업 1 — 디버그 박스·사거리 박스 시각화 off (재활용 toggle):
- HitboxDebug.ShowDebugVisuals 정적 플래그 신규 (false 기본·true 설정 시 즉시 노출)
- Spawn·AttachSprite·SpawnRange·SpawnHitboxDebugChild 4 위치 SpriteRenderer.enabled 정합
- GameObject 자체는 정상 spawn → LiveHitboxSync 등 부착 코드 무영향

작업 2 — 레벨업 카드 풀 5종 한정:
- SkillRuntimeFactory.AvailableCardIds HashSet (A02·A13·A04·A05·A_Laser)
- RandomDraw3 영역 화이트리스트 필터 추가
- 미완성 placeholder (A01·A03·A08·A14·A15) 카드 풀 제외

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 19:24:46 +09:00
깃 관리자 5b2a0329cc fix(BT12-Dev): .asset 6 PD Inspector 작업 복구 (reset --hard 영역 폐기 정정)
본 PM 직전 commit ab40b27 시점 git reset --hard origin/main 영역 PD Inspector 작업 .asset 영역 폐기 사고 발생.
reflog 영역 e2bc95f (rebase 폐기 commit) 영역 PD 최종 작업 영역 보존 확인·6 .asset 영역 복구.

복구 .asset 6:
- A02_paieobol·A05_hakikjin·A13_cheondoongbal·A15_chujeok_hwayeomgu·A_Laser·A04_thunder
- 주요 복구 영역: MaxRange·ProjectileSpeed PD Inspector 직접 설정 값

ExtraHitFxPrefab (A04 FX_Thunder Smoke) 영역 PD 후속 Inspector drag&drop 영역 필요 (e2bc95f 영역 미설정).

본 PM 자성 #4 (헌법급) — git reset --hard 영역 PD 작업 영역 영향 사전 측정 부족·C6 데이터 보호 위반.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 19:09:20 +09:00
깃 관리자 ab40b27773 feat(BT12-Dev): 투사체 사거리 시각화·Inspector 조절·A04 Extra FX (PD 지시 2026-05-13)
- HitboxDebug.SpawnRange 신규 — 투사체 사거리 파란 박스 (3초 유지·HideFlags.DontSave)
- Projectile._speed·_maxRange = ActiveSkillData.ProjectileSpeed·MaxRange Inspector 직접 (RangeTier·camWidth·mults 계산 폐기)
- PiercingProjectile._speed override 2.5f 폐기 — data.ProjectileSpeed 정합
- ActiveSkillData 신규 필드 3 — MaxRange·ProjectileSpeed·ExtraHitFxPrefab
- LightningStrikeSpawner — ExtraHitFxPrefab 0.6초 후 spawn·y -0.5 (A04 FX_Thunder Smoke 비주얼 전용·판정 무관)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 19:00:29 +09:00
깃 관리자 4881c6657e 리소스 추가 2026-05-13 18:46:54 +09:00
깃 관리자 60812b96ba feat(BT12-Dev): 스킬 시스템 누적 작업물 (PD 지시 2026-05-12~13)
본 세션 (BurningTimes worktree cranky-wescoff-e855b0) 누적 작업물.
직전 commit 4건 (2ebf313·60e28e3·ea7d32f·f6c6eb5) 영역 외 잔존
미커밋 변경 일괄 commit.

Scripts:
- Health.cs  DecrementBypassInvuln (DoT) + DecrementBypassInvulnWithHit
  (다단 히트) + StartHitFlash + FlashHurtCoroutine + TriggerHitOrHurt
- ActiveSkillData.cs  신규 필드 (DamageFrameDelay·EnableRepeatDamage·
  MaxHitCount·RepeatFrameInterval·OffsetDistance Vector2 등)
- PiercingProjectile.cs  A13 천둥발 관통 + Kinematic Rigidbody2D +
  useFullKinematicContacts + OverlapBox 매 frame
- StatusApplier.cs  ApplyDoT 시 DotFxScale 전달
- TestSkillFireOn1to5.cs  1~5 키 발사 + lazy init EnsureRuntimes

Animator:
- Enemy.controller  Baddie-Hurt self-loop transition (hurt 조건)
- Player.controller  Player-Hit self-loop transition (hit 조건)

Prefab:
- FX_Lightningball.prefab  ball 자식 PS simulationSpace World → Local
- Enemy.prefab  본 세션 측정 조정

Active skill assets (PD Inspector 직접 조정):
- A01·A02·A03·A04·A05·A08·A13·A14·A15·A_Laser
  HitboxSize·OffsetDistance(Vector2)·OffsetXY·FxRotation·HitFxScale·
  DamageFrameDelay·EnableRepeatDamage·MaxHitCount·RepeatFrameInterval

Font:
- NotoSansKR-Regular SDF.asset  본 세션 SDF atlas 갱신

→ 박스↔이펙트 분리 원칙 표준화 (박스 = facing 만 · 이펙트 =
   facing + FxRotation · runtime spawn = HideFlags.DontSave)
→ 모든 피해 시 hit flash + Animator self-loop transition

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 18:05:13 +09:00
깃 관리자 f6c6eb5ef5 fix(BT12-Dev): A05 좌우 베기 이펙트 Player 동조 (PD 지시 2026-05-13)
원인: MeleeAreaSpawner 이펙트 spawn 후 SetParent 미적용.
spawn 시점 world 좌표에서 freeze 되어 Player 전진 시
이펙트가 뒤로 밀려 보이는 현상.
박스(판정) 는 이미 Player 자식 부착이라 동조 정상.

정정:
- fxGo.transform.SetParent(inventory.transform, true)
- worldPositionStays=true 로 spawn 직후의 world 위치·rotation·scale 유지
  + Player 이동에 자동 동조.

검증 (Play 모드):
- Player x: -7 → -5 (Δ+2.0) 이동
  - FX worldPos: -6.80 → -4.80 (Δ+2.0) ✓
  - BOX worldPos: -7.00 → -5.00 (Δ+2.0) ✓

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 17:37:15 +09:00
깃 관리자 ea7d32f437 fix(BT12-Dev): FxRotation 박스 미적용 분리 (PD 진단 2026-05-13)
PD 진단: 박스(판정) 은 facing 좌/우 반전만 받아야 하는데
FxRotation 이 박스에도 함께 적용되어 facing flip 과 결합 시
시각상 두 박스가 X 자로 겹쳐 보이는 현상.

방침:
- 박스(판정) = facing 만 반영 · FxRotation 미적용
- 이펙트(시각) = facing + FxRotation 그대로 (현행)

LaserSpawner:
- 박스 rotation = baseAngle (facing) 만, FxRotation 제외
- 박스 forwardDir = facing.normalized (FxRotation 회전 제외)
- OffsetDistance.x 에 facing sign 반영 (좌/우 위치 반전)
- ApplyLaserDamage 도 동일 정합

MeleeAreaSpawner:
- 박스 localRotation = identity (FxRotation 제거)
- OffsetDistance.x 에 facing sign 반영
- DoOverlapBoxFromPlayer rotation 0 · facing sign 반영

LightningStrikeSpawner:
- 박스 rotation 0 · capturedRot 변수 제거
- HitboxDebug.Spawn 후 rotation 별도 부여 라인 제거
- FixedHitDamageCoroutine 호출 rotZ=0

Projectile:
- transform.rotation = facing 만 (FxRotation 제외)
- root 가 BoxCollider2D + 시각 동시 보유 → 박스 회전 금지 의도

검증 (Play 모드 8 case):
- Laser R/L × Fx 0/90 — 박스 rot=0 또는 180 (FxRotation 무반응)
- Melee R/L × Fx 0/45 — 박스 rot=0 (FxRotation 무반응)
- Proj A13 R/L Fx 0 — 박스 rot=0/180 (facing 만)
- Stop 후 Scene 잔존 0건 (HideFlags.DontSave 유지)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 17:27:49 +09:00
깃 관리자 60e28e32ec fix(BT12-Dev): 스킬 박스·FX Scene 잔존 정정 (PD 지시 2026-05-13)
원인: Scene Assets/Scenes/Ingame.unity 에 이전 Edit Mode 측정 잔존 spawn 6건 영구 저장
- FX_Lightningball(Clone) × 3 (각각 ProjectileHitbox_Debug × 1 자식)
- FX_SLASH(Clone) × 2
- FX_Dragonfire(Clone) × 1

정정 1: Scene 잔존 spawn 6건 일괄 삭제 + Scene 재저장 (Ingame.unity).
정정 2: 모든 runtime spawn GameObject 에 HideFlags.DontSave 부여
       (HitboxDebug · Projectile · LaserSpawner · MeleeAreaSpawner ·
        LightningStrikeSpawner · ProjectileSpawner · EnemyStateComponents)
       → Scene 저장 시 무시 + Play→Stop 자동 cleanup.

검증: Play 모드 1회 발사 시 박스 1개만 spawn (LaserHitbox_Debug 1·
     A13 ProjectileHitbox_Debug 1) · Stop 후 Scene 잔존 0건 확인.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 17:20:40 +09:00
깃 관리자 2ebf3130c2 feat(BT12-Dev): 5 스킬 통합·1~5 키 발사 시스템 (PD 지시 2026-05-13)
자동 sync 영역 누락된 Font asset 변경 1건 정리 commit.

이전 자동 commit 0596e2c (2026-05-13 01:48) 영역 포함된 본 PM 작업물:
- 카메라 정합 (ortho 4.5·TargetOffset 1.95·Damping.y 0.3·DeadZone 0)
- Enemy maxHP 20·Hit/Hurt Animator·DoT 깜빡 효과
- A02 파이어볼 이펙트 (FX_Fireball_Bullet·FX_FireHit_02·FX_Fire(Cartoon)·페이드아웃)
- A04 번개 충격 (FX_Thunder·20% 축소·4/5 시점 데미지)
- A05 학익진 (MeleeAreaSpawner·FX_SLASH)
- A_Laser 용염 레이저 (LaserSpawner·FX_Dragonfire·40프레임 후~소멸까지 tick)
- A13 천둥발 변경 (PiercingProjectile·FX_Lightningball·관통·0.2s 영역)
- TestSkillFireOn1to5 (1~5 키 영역 5 스킬 발사 테스트)
- Health.DecrementBypassInvuln·EnemyDeath DoT 연결·Projectile fade·방향 회전
2026-05-13 01:49:20 +09:00
깃 관리자 0596e2c4c0 auto: 2026-05-13 01:48 · scene: Lobby · 1494 files 2026-05-13 01:48:30 +09:00
깃 관리자 4ecfbed0e5 auto: 2026-05-12 22:57 · scene: Lobby · 6 files 2026-05-12 22:57:08 +09:00
깃 관리자 11cfb4310d fix(BT12-Dev): Tutorials 폴더 전체 폐기 (TutorialCallbacks.cs 컴파일 에러 정정)
PD: "TutorialCallbacks.cs(2,23): CS0234 Unity.Tutorials.Core not exist"

근본:
- 직전 commit 8793f7b에서 Tutorial 패키지 제거
- Assets/Tutorials/SharedAssets/TutorialCallbacks.cs 등이 Unity.Tutorials.Core 참조
- 패키지 제거 후 namespace 부재 → 컴파일 에러

fix:
- Assets/Tutorials 폴더 전체 폐기 (Tutorial 패키지 정합)
  - 5개 챕터 (1_GetStarted·2_EditorBasics·3_ChangeColors·4_AddAnEnemy·5_BuildAndPublish)
  - SharedAssets (TutorialCallbacks·Unity.Platformer.Tutorials.asmdef 등)
  - WelcomeDialog·TutorialProjectSettings

회귀 영역 X:
- Tutorial 자체 미사용·게임 로직 무관

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 22:41:20 +09:00
깃 관리자 93906d83f3 fix(BT12-Dev): Tutorial Framework 패키지 제거 (SceneObjectGuid 중복 GUID 근본 해결)
PD: "여전히 에러 발생중 — ArgumentException SceneObjectGuid Register"

근본:
- 직전 commit 4714299에서 Scene Player의 SceneObjectGuid 제거했으나
- Unity Tutorial Framework 패키지 (com.unity.learn.iet-framework 5.0.3) 자체 활성
- OnValidate hook이 잔존 SceneObjectGuid 등록 시도 → 중복 GUID dictionary 등록

fix:
1. Packages/manifest.json — com.unity.learn.iet-framework 의존 제거
2. Scene 추가 SceneObjectGuid 폐기 (Token 1개 잔존 확인·폐기)
3. Tutorial 패키지 자체 제거 → OnValidate hook 영역 제거·근본

회귀 영역 X:
- Tutorial Framework는 Unity 학습용·게임 로직 무관
- 다른 패키지 영향 X

PD Editor 재시작 권고 — Library/PackageCache 영역 reload 후 SceneObjectGuid type 완전 제거.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 22:41:20 +09:00
깃 관리자 04294a9e3e fix(BT12-Dev): SceneObjectGuid 중복 GUID 폐기 (Tutorial 잔존 영역)
PD: "ArgumentException: An item with the same key has already been added.
Key: 853d1d12-048e-49ae-b0d4-916bccd493cf
Unity.Tutorials.Core.SceneObjectGuidManager.Register"

원인:
- Unity Tutorial Framework SceneObjectGuid 컴포넌트가 Player에 잔존
- Editor OnValidate·Variant prefab 영역 등록 시 GUID dictionary 중복 → ArgumentException

fix:
- Scene 영역 SceneObjectGuid 컴포넌트 폐기 (Player 1개)
- Enemy.prefab·Variant 6 prefab 영역 SceneObjectGuid 확인 (모두 부재)

회귀 영역 X:
- Tutorial Framework 미사용·SceneObjectGuid 게임 로직 의존 X
- Player·Enemy·Animator 영역 영역 X

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 22:41:20 +09:00