public bool HasStatusEffect(StatusEffect otherStatusEffect) { foreach (StatusEffect statusEffect in StatusEffects) { if (statusEffect.Type == otherStatusEffect.Type) { StatusEffects.IInflictable inflictable = otherStatusEffect as StatusEffects.IInflictable; if (inflictable == null) return true; else if (inflictable.Inflictor == (statusEffect as SuperFantasticSteampunk.StatusEffects.IInflictable).Inflictor) return true; } } return false; }
public void AddStatusEffect(StatusEffect statusEffect) { if (!HasStatusEffect(statusEffect)) { StatusEffects.Add(statusEffect); if (BattleEntity != null) { ParticleEffect particleEffect = new ParticleEffect(BattleEntity.GetCenter(), Color.White, 10, statusEffect.TextureData, 200.0f, 0.0f, 0.5f, 1.0f, false); particleEffect.DepthOverride = BattleEntity.Position.Y + 5.0f; Scene.AddEntity(particleEffect); } } }