using GameFramework; using GameFramework.Event; namespace GeometryTD.CustomEvent { public class CombatBaseHpChangedEventArgs : GameEventArgs { public static int EventId => typeof(CombatBaseHpChangedEventArgs).GetHashCode(); public override int Id => EventId; public int CurrentBaseHp { get; private set; } public int DeltaBaseHp { get; private set; } public CombatBaseHpChangedEventArgs() { CurrentBaseHp = 100; DeltaBaseHp = 0; } public static CombatBaseHpChangedEventArgs Create(int currentBaseHp, int deltaBaseHp = 0) { var args = ReferencePool.Acquire(); args.CurrentBaseHp = currentBaseHp; args.DeltaBaseHp = deltaBaseHp; return args; } public override void Clear() { CurrentBaseHp = 100; DeltaBaseHp = 0; } } }