Exemplo n.º 1
0
 protected virtual void RemoveCallback(StatusEffectInstance effect)
 {
     if (IsValidCondition(ActivationCondition.OnRemove))
     {
         Process(effect, ActivationCondition.OnRemove);
     }
 }
Exemplo n.º 2
0
 protected virtual void ApplyCallback(StatusEffectInstance effect)
 {
     if (IsValidCondition(ActivationCondition.OnApply))
     {
         Process(effect, ActivationCondition.OnApply);
     }
 }
Exemplo n.º 3
0
 protected virtual void OnAdd(StatusEffectInstance effect)
 {
     if (effect.Type == this.type)
     {
         this.Effect = effect;
     }
 }
Exemplo n.º 4
0
 protected virtual void OnRemove(StatusEffectInstance effect)
 {
     if (effect.Type == this.type)
     {
         this.Effect = null;
     }
 }
        public virtual void Set(StatusEffectInstance effect)
        {
            this.Effect = effect;

            icon.color  = effect.Type.Color;
            icon.sprite = effect.Type.Icon;
        }
Exemplo n.º 6
0
 protected virtual void ApplyCallback(StatusEffectInstance effect)
 {
     if (OnApply != null)
     {
         OnApply(effect);
     }
 }
Exemplo n.º 7
0
        protected virtual void Modify(ref StatusEffectInstance instance, StatusEffectData data, Entity affector)
        {
            instance.Stack(data, affector);

            if (OnModify != null)
            {
                OnModify(instance);
            }
        }
        protected virtual EntityStatusEffectUITemplate Create(StatusEffectInstance effect)
        {
            var instance = Instantiate(template, transform);

            var script = instance.GetComponent <EntityStatusEffectUITemplate>();

            script.Init();
            script.Set(effect);

            return(script);
        }
        void RemoveCallback(StatusEffectInstance effect)
        {
            for (int i = Templates.Count - 1; i >= 0; i--)
            {
                if (Templates[i].Effect.Type == effect.Type)
                {
                    Destroy(Templates[i].gameObject);

                    Templates.RemoveAt(i);
                }
            }
        }
Exemplo n.º 10
0
        void OnApply(StatusEffectInstance instance)
        {
            if (instance.Type == type)
            {
                if (Entity.IsAlive)
                {
                    if (coroutine != null)
                    {
                        StopCoroutine(coroutine);
                    }

                    coroutine = StartCoroutine(Procedure());
                }
            }
        }
Exemplo n.º 11
0
        protected virtual StatusEffectInstance Add(StatusEffectData data, Entity affector)
        {
            var target = new StatusEffectInstance(this.Entity, data, affector);

            RemoveConflicts(data.Type);

            target.OnApply  += ApplyCallback;
            target.OnFinish += InstanceFinishedDelegate;

            if (OnAdd != null)
            {
                OnAdd(target);
            }

            return(target);
        }
        protected override void Process(StatusEffectInstance effect, EntityStatusEffects.ActivationCondition condition)
        {
            if (effect.Type == type)
            {
                if (conditions.IsPlayCondition(condition))
                {
                    Play();
                }

                if (conditions.IsStopCondition(condition))
                {
                    Stop();
                }
            }
            else
            {
            }
        }
Exemplo n.º 13
0
 void InstanceFinishedDelegate(StatusEffectInstance instance)
 {
     Remove(instance.Type);
 }
Exemplo n.º 14
0
 public override void Apply(StatusEffectInstance effect)
 {
 }
Exemplo n.º 15
0
 public override void Apply(StatusEffectInstance effect)
 {
     effect.Affector.DoDamage(effect.Data.Potency, Damage.Method.Effect, effect.Target);
 }
Exemplo n.º 16
0
 public virtual void OnAdd(StatusEffectInstance effect)
 {
 }
Exemplo n.º 17
0
 public abstract void Apply(StatusEffectInstance effect);
Exemplo n.º 18
0
 protected abstract void Process(StatusEffectInstance effect, ActivationCondition condition);
Exemplo n.º 19
0
 public virtual void OnRemove(StatusEffectInstance effect)
 {
 }
        void AddCallback(StatusEffectInstance effect)
        {
            var instance = Create(effect);

            Templates.Add(instance);
        }