31 lines
1.0 KiB
C#
31 lines
1.0 KiB
C#
|
|
using UnityEngine;
|
||
|
|
using Platformer.Mechanics;
|
||
|
|
|
||
|
|
namespace EerieVillage.Progression
|
||
|
|
{
|
||
|
|
/// <summary>
|
||
|
|
/// EXP 발급 정적 영역. EnemyDeath 영역 단일 호출 통로.
|
||
|
|
/// 차기 BT12-Dev 영역 P19 XPMultiplier 영역 적용 hook.
|
||
|
|
/// </summary>
|
||
|
|
public static class ExperienceSystem
|
||
|
|
{
|
||
|
|
const int DEFAULT_XP_REWARD = 5;
|
||
|
|
|
||
|
|
/// <summary>적 처치 시 호출 — Player 영역 PlayerProgression 갱신.</summary>
|
||
|
|
public static void OnEnemyKilled(EnemyController enemy, PlayerController player)
|
||
|
|
{
|
||
|
|
if (player == null) return;
|
||
|
|
var prog = player.GetComponent<PlayerProgression>();
|
||
|
|
if (prog == null) return;
|
||
|
|
int xp = ComputeXPReward(enemy);
|
||
|
|
prog.GainXP(xp);
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>placeholder — 적 종류·등급별 XP 영역 차기 BT12-Dev 영역 (enemy_xp_reward.json 분리).</summary>
|
||
|
|
static int ComputeXPReward(EnemyController enemy)
|
||
|
|
{
|
||
|
|
return DEFAULT_XP_REWARD;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|