Implement health modification on enemy kill; add HealOnKillModifier and update death behavior
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
using System;
|
||||
using Interfaces;
|
||||
using Sirenix.Serialization;
|
||||
using UnityEngine;
|
||||
@@ -6,13 +7,18 @@ namespace Systems
|
||||
{
|
||||
public class EnemyDeathBehavior : MonoBehaviour, IDeathBehavior
|
||||
{
|
||||
public static event Action<GameObject, GameObject> OnAnyEnemyKilled;
|
||||
|
||||
[OdinSerialize, SerializeField] private int expReward = 5;
|
||||
[OdinSerialize, SerializeField] private int coinReward = 1;
|
||||
|
||||
public void Die()
|
||||
public void Die(GameObject killer = null)
|
||||
{
|
||||
GameManager.Instance.Player.attributes.ModifyExperience(expReward);
|
||||
GameManager.Instance.AddCoins(coinReward);
|
||||
|
||||
OnAnyEnemyKilled?.Invoke(killer ?? GameManager.Instance.Player.gameObject, gameObject);
|
||||
|
||||
Destroy(gameObject);
|
||||
|
||||
// later let's add particle effects, sound effects, etc.
|
||||
|
Reference in New Issue
Block a user