Exemplo n.º 1
0
 public BuffDebuffData(ConfigBuffDebuffRecord cf, AfterEffect AfterEffect, EffectData data)
 {
     this.AfterEffect = AfterEffect;
     this.cf          = cf;
     this.data        = data;
     remainTime       = cf.EffectTime;
 }
Exemplo n.º 2
0
    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();
    }
Exemplo n.º 3
0
 public virtual void Setup(ConfigBuffDebuffRecord cf)
 {
     this.cf          = cf;
     this.icon.sprite = SpriteLiblary.instance.GetSpriteByName(cf.Sprite);
 }