public void OnEffectRemoved(object sender, EffectEventArgs e) { EffectHolder holder = e.Holder; // Update unit stats if (holder.EffectInfo.EffectType == EffectTypes.Snare || holder.EffectInfo.EffectType == EffectTypes.IncreaseSpeed) CalculateSpeedRate(); }
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; }
public void OnEffectRemoved(object sender, EffectEventArgs e) { EffectHolder effectHolder = e.Holder; for (int i = 0; i < aurasCount; ++i) { if (this.pbAuraIcons[i].Tag == effectHolder) { for (int j = i; j < aurasCount; ++j) { this.pbAuraIcons[j].Tag = this.pbAuraIcons[j + 1].Tag; this.pbAuraIcons[j].Image = this.pbAuraIcons[j + 1].Image; this.toolTipAuras.SetToolTip(this.pbAuraIcons[j], this.toolTipAuras.GetToolTip(this.pbAuraIcons[j + 1])); } --aurasCount; this.pbAuraIcons[aurasCount].Hide(); break; } } }
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; }
public void OnEffectApplied(object sender, EffectEventArgs e) { EffectHolder effectHolder = e.Holder; if(effectHolder.EffectInfo.HasAttribute(EffectAttributes.HiddenAura)) return; this.pbAuraIcons[aurasCount].Tag = effectHolder; this.pbAuraIcons[aurasCount].Image = PictureManager.EffectImages[effectHolder.EffectInfo.ID].Aura; this.toolTipAuras.SetToolTip(this.pbAuraIcons[aurasCount], effectHolder.EffectInfo.EffectName + "\n" + effectHolder.EffectInfo.Description); this.pbAuraIcons[aurasCount].Show(); ++aurasCount; }