using UnityEngine; using Platformer.Mechanics; namespace EerieVillage.Progression { /// /// EXP 발급 정적 영역. EnemyDeath 영역 단일 호출 통로. /// 차기 BT12-Dev 영역 P19 XPMultiplier 영역 적용 hook. /// public static class ExperienceSystem { // [BT12-MVP-A 임시] PD 직접 지시 2026-05-09 — 기능 테스트 영역 EXP 보상 1 고정. 차기 BT12-Dev 본격 영역 = enemy_xp_reward.json 분리 + 본 임시 영역 제거 의무. const int DEFAULT_XP_REWARD = 1; /// 적 처치 시 호출 — Player 영역 PlayerProgression 갱신. public static void OnEnemyKilled(EnemyController enemy, PlayerController player) { Debug.Log($"[ExperienceSystem] OnEnemyKilled — player={(player == null ? "NULL" : player.name)} enemy={(enemy == null ? "NULL" : enemy.name)}"); if (player == null) { Debug.LogWarning("[ExperienceSystem] player == null → EXP 발급 X"); return; } var prog = player.GetComponent(); if (prog == null) { Debug.LogWarning("[ExperienceSystem] PlayerProgression == null → 자동 부착 영역 실패 가능"); return; } int xp = ComputeXPReward(enemy); Debug.Log($"[ExperienceSystem] GainXP({xp}) 호출 → PlayerProgression"); prog.GainXP(xp); } /// placeholder — 적 종류·등급별 XP 영역 차기 BT12-Dev 영역 (enemy_xp_reward.json 분리). static int ComputeXPReward(EnemyController enemy) { return DEFAULT_XP_REWARD; } } }