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>
This commit is contained in:
깃 관리자 2026-05-13 19:24:46 +09:00
parent 5b2a0329cc
commit d26bd837ea
3 changed files with 20 additions and 1 deletions

View File

@ -8,6 +8,10 @@ namespace EerieVillage.Skills.Effectors
/// </summary>
public static class HitboxDebug
{
// PD 지시 2026-05-13 — 디버그 박스·사거리 박스 시각화 off (재활용 영역 true 설정 시 즉시 노출)
// GameObject·LiveHitboxSync 부착 영역 정상 — SpriteRenderer 활성화 영역만 toggle.
public static bool ShowDebugVisuals = false;
/// <summary>지정 world 좌표·size 박스 spawn·lifetime 후 destroy. lifetime=0 영역 영구.</summary>
public static GameObject Spawn(Vector2 pos, Vector2 size, float lifetime)
{
@ -39,6 +43,7 @@ namespace EerieVillage.Skills.Effectors
sr.sprite = GetWhiteSprite();
sr.color = new Color(0f, 0.45f, 1f, 0.35f);
sr.sortingOrder = 99;
sr.enabled = ShowDebugVisuals;
if (lifetime > 0f) Object.Destroy(go, lifetime);
return go;
}
@ -64,6 +69,7 @@ namespace EerieVillage.Skills.Effectors
sr.sprite = GetWhiteSprite();
sr.color = new Color(1f, 0f, 0f, 0.35f);
sr.sortingOrder = 100;
sr.enabled = ShowDebugVisuals;
}
static Sprite _whiteSprite;

View File

@ -251,6 +251,7 @@ namespace EerieVillage.Skills.Effectors
sr.sprite = HitboxDebug.GetWhiteSprite();
sr.color = new Color(1f, 0f, 0f, 0.35f);
sr.sortingOrder = 100;
sr.enabled = HitboxDebug.ShowDebugVisuals;
_debugBoxTransform = go.transform;
}

View File

@ -65,8 +65,19 @@ namespace EerieVillage.Skills
};
}
/// <summary>
/// PD 지시 2026-05-13 — 레벨업 카드 풀 영역 완성·구현 5종만 한정.
/// A02 파이어볼·A13 저주 구체·A04 번개 충격·A05 좌/우 베기·A_Laser 용염 레이저.
/// 미완성 placeholder (A01·A03·A08·A14·A15) 영역 카드 풀 제외.
/// </summary>
static readonly HashSet<string> AvailableCardIds = new HashSet<string>
{
"A02", "A13", "A04", "A05", "A_Laser"
};
/// <summary>
/// 레벨업 시 카드 3장 무작위 추출. Active 카테고리만. Phase 2-D 영역 BT12-MVP-A 통합.
/// PD 지시 2026-05-13 — AvailableCardIds 화이트리스트 필터 영역.
/// </summary>
public static List<ActiveSkillData> RandomDraw3()
{
@ -74,7 +85,8 @@ namespace EerieVillage.Skills
var actives = new List<ActiveSkillData>();
foreach (var kvp in _cache)
{
if (kvp.Value is ActiveSkillData ad) actives.Add(ad);
if (kvp.Value is ActiveSkillData ad && AvailableCardIds.Contains(ad.CardId))
actives.Add(ad);
}
if (actives.Count == 0) return new List<ActiveSkillData>();