Example #1
0
File: Unit.cs Project: scerdam/Maze
 protected void RemoveEffect(EffectHolder effectHolder)
 {
     effectList.Remove(effectHolder);
 }
Example #2
0
File: Unit.cs Project: scerdam/Maze
 public void ApplyEffect(EffectHolder newHolder)
 {
     effectList.Add(newHolder);
 }
Example #3
0
File: Unit.cs Project: scerdam/Maze
 /// <summary>
 /// Initializes a new instance of the EffectEventArgs class.
 /// </summary>
 /// <param name="holder">EffectHolder that raises the event.</param>
 public EffectEventArgs(EffectHolder holder)
 {
     this.pr_Holder = holder;
 }
Example #4
0
File: Unit.cs Project: scerdam/Maze
        public bool Remove(EffectHolder holder)
        {
            if (!effectList.Contains(holder))
                return false;

            // Save Type of removable effect
            EffectTypes effectType = holder.EffectInfo.EffectType;

            if (effectList.Remove(holder))
            {
                if (EffectRemoved != null)
                {
                    EffectEventArgs e = new EffectEventArgs(holder);
                    EffectRemoved(owner, e);
                }

            }
            return true;
        }
Example #5
0
File: Unit.cs Project: scerdam/Maze
        public bool Add(EffectHolder holder)
        {
            // prevent applying double effect
            if (effectList.Count > 0)
                foreach (EffectHolder effect in effectList)
                {
                    if (effect.EffectInfo.ID == holder.EffectInfo.ID)
                    {
                        effect.Refresh();
                        return true;
                    }
                }

            effectList.Add(holder);

            if (EffectApplied != null)
            {
                EffectEventArgs e = new EffectEventArgs(holder);
                EffectApplied(owner, e);
            }

            return true;
        }
Example #6
0
        /// <summary>
        /// Used when need to apply EffectHolder and make an Aura for Unit
        /// </summary>
        private void ApplyAura()
        {
            if (effectInfo.HasAttribute(EffectAttributes.OnlySlug) && target.ObjectType != ObjectTypes.Slug)
                return;

            EffectHolder effectHolder = new EffectHolder(effectInfo);

            foreach (Unit unitTarget in targetsList)
                unitTarget.ApplyEffect(effectHolder);
        }