C# Event как использовать
Простая консольная программа. Есть хп, и 2 метода (получить урон, или захилится). Все что я пытаюсь сделать это отоборазить сообщение с помощью ивента в консоли. Просто хочу понять как работать с ивентами. Сейчас в консоли ничего не отображается, не понимаю почему. Вроде подписался, вроде методы прокинул...Помогите плз. Разбил на 3 класса.
- Program
- Health
- EventClass
...Event...
public class EventClass
{
public delegate void MonitorHp(int a);
public event MonitorHp HealEvent;
public void HealMethod(int a)
{
HealEvent?.Invoke(a);
}
}
...Health...
public class Health
{
public int Heal;
public Health(int health)
{
Heal = health;
}
public void GetHeal(int a)
{
Heal += a;
}
public void GetDamage(int a)
{
Heal -= a;
}
}
Program
class Program
{
public static EventClass eventClass = new EventClass();
public static Health health = new Health(100);
static void Main()
{
eventClass.HealEvent += EventClass_HealEvent;
health.GetDamage(20);
health.GetHeal(2);
}
private static void EventClass_HealEvent(int a)
{
Console.WriteLine(health.Heal);
}
}