public BuffDebuffData(ConfigBuffDebuffRecord cf, AfterEffect AfterEffect, EffectData data) { this.AfterEffect = AfterEffect; this.cf = cf; this.data = data; remainTime = cf.EffectTime; }
public void ApplyBuffDebuff(ConfigBuffDebuffRecord cf, OnEffect OnEffect, AfterEffect AfterEffect) { foreach (var d in buffDebuffDatas) { if (d.cf.Id == cf.Id) { d.remainTime = cf.EffectTime; AddBuffDebuffEvent?.Invoke(cf.Sprite, cf.Id, cf.EffectTime); return; } } EffectData data = OnEffect.Invoke(); /* if (data != null && data.onNewEnemyAddEvent != null) * EnemyFactory.instance.OnNewEnemyAddEvent += data.onNewEnemyAddEvent;*/ buffDebuffDatas.Add(new BuffDebuffData(cf, AfterEffect, data)); AddBuffDebuffEvent?.Invoke(cf.Sprite, cf.Id, cf.EffectTime); ChangeProjectile(); }
public virtual void Setup(ConfigBuffDebuffRecord cf) { this.cf = cf; this.icon.sprite = SpriteLiblary.instance.GetSpriteByName(cf.Sprite); }