diff --git a/Assets/Scripts/Mechanics/GameOptimizer.cs b/Assets/Scripts/Mechanics/GameOptimizer.cs index 91a4cd7..6a7ae66 100644 --- a/Assets/Scripts/Mechanics/GameOptimizer.cs +++ b/Assets/Scripts/Mechanics/GameOptimizer.cs @@ -30,8 +30,8 @@ namespace Platformer.Mechanics [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)] static void SetupJumpThroughPlatforms() { - // BT5-Dev #44 — 일반 지면(Level Tilemap) Layer 0 일반 충돌 + 공중 발판(Foreground·별개 BoxCollider2D)만 Layer 16 - int applied = 0, excluded = 0, levelKept = 0; + // BT5-Dev #45 — Level Tilemap 영역 Layer 16 복원 (PD 의도: 점프 영역 통과·footHit 영역 영역 영역). Tilemap 단일 GameObject = 모든 Tile 동일 동작. + int applied = 0, excluded = 0; var allColliders = Object.FindObjectsByType(FindObjectsSortMode.None); var appliedNames = new System.Collections.Generic.List(); foreach (var c in allColliders) @@ -49,35 +49,28 @@ namespace Platformer.Mechanics continue; } - // BT44 — Level Tilemap (TilemapCollider2D) = 일반 지면 Layer 0 그대로 (Drop-Through 영역 외) - if (c.GetComponent() != null && c.gameObject.name == "Level") - { - if (c.gameObject.layer == 16) c.gameObject.layer = 0; // BT38·BT40·BT43 잔존 복원 - levelKept++; - continue; - } - var effector = c.GetComponent(); if (effector != null) Object.Destroy(effector); c.usedByEffector = false; + // BT5-Dev #45 — 모든 일반 Collider(Level Tilemap 포함) Layer 16 (PD 의도: 점프 영역 통과·footHit 영역 영역) c.gameObject.layer = 16; applied++; if (appliedNames.Count < 8) appliedNames.Add($"{c.gameObject.name}({c.GetType().Name})"); } - // BT44 — Foreground GameObject(시각만·Collider 미부착) → TilemapCollider2D 동적 추가 + Layer 16 (공중 발판) + // BT45 — Foreground 영역 미부착 시 TilemapCollider2D 동적 추가 + Layer 16 var foreground = GameObject.Find("Foreground"); if (foreground != null) { var fgTc = foreground.GetComponent(); if (fgTc == null) fgTc = foreground.AddComponent(); foreground.layer = 16; - Debug.Log($"[BT44-Foreground] TilemapCollider2D + Layer 16 applied to 'Foreground'"); + Debug.Log($"[BT45-Foreground] TilemapCollider2D + Layer 16 applied to 'Foreground'"); } - Debug.Log($"[BT44-DropThrough] Layer16 applied={applied} levelKeptLayer0={levelKept} excluded={excluded} total={allColliders.Length}"); - Debug.Log($"[BT44-DropThrough] appliedSamples=[{string.Join(", ", appliedNames)}]"); + Debug.Log($"[BT45-DropThrough] Layer16 applied={applied} excluded={excluded} total={allColliders.Length}"); + Debug.Log($"[BT45-DropThrough] appliedSamples=[{string.Join(", ", appliedNames)}]"); } } }