public IEnumerable <IEntity> Filter(IEnumerable <IEntity> entities, DynamicValueContext context) { foreach (IEntity entity in entities) { IEntityWithLife entityWithLife = entity as IEntityWithLife; if (entityWithLife != null && entityWithLife.hasArmor && m_valueFilter.Matches(entityWithLife.armor, context)) { yield return(entity); } } }
public IEnumerable <IEntity> Filter(IEnumerable <IEntity> entities, DynamicValueContext context) { ValueFilter filter = m_valueFilter; foreach (IEntity entity in entities) { IEntityWithAction entityWithAction = entity as IEntityWithAction; if (entityWithAction != null) { if (filter == null) { if (!entityWithAction.hasRange) { yield return(entity); } } else if (entityWithAction.hasRange && filter.Matches(entityWithAction.rangeMax, context)) { yield return(entity); } } } }