public override Tuple <int, int> GetRange() { IEntityWithAction entityWithAction = m_source as IEntityWithAction; if (entityWithAction == null || !entityWithAction.hasRange) { return(null); } return(new Tuple <int, int>(entityWithAction.rangeMin, entityWithAction.rangeMax)); }
public IEnumerable <IEntity> Filter(IEnumerable <IEntity> entities, DynamicValueContext context) { bool shouldContains = m_condition == ShouldBeInOrNot.ShouldBeIn; foreach (IEntity entity in entities) { IEntityWithAction entityWithAction = entity as IEntityWithAction; if (entityWithAction != null && ContainsEntityType(entityWithAction.actionType) == shouldContains) { 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); } } } }