public static bool Add <N>(this LegacyFilterGroup legacyFilter, uint entityID, N mapper) where N : IEGIDMultiMapper { #if DEBUG && !PROFILE_SVELTO if (mapper.Exists(legacyFilter._exclusiveGroupStruct, entityID) == false) { throw new ECSException( $"trying adding an entity {entityID} to filter {mapper.entityType} - {legacyFilter._ID} with group {legacyFilter._exclusiveGroupStruct}, but entity is not found! "); } #endif return(legacyFilter.InternalAdd(entityID, mapper.GetIndex(legacyFilter._exclusiveGroupStruct, entityID))); }
public bool TryGetFilterForGroup <T>(int filterId, ExclusiveGroupStruct groupID, out LegacyFilterGroup groupLegacyFilter) where T : struct, IBaseEntityComponent { groupLegacyFilter = default; if (_filtersLegacy.TryGetValue(TypeRefWrapper <T> .wrapper, out var fasterDictionary) == false) { return(false); } if (fasterDictionary.TryGetValue(groupID, out var groupFilters) == false) { return(false); } if (groupFilters.TryGetFilter(filterId, out groupLegacyFilter) == false) { return(false); } return(true); }
public bool TryGetFilter(int filterIndex, out LegacyFilterGroup legacyFilter) { return(_legacyFilters.TryGetValue(filterIndex, out legacyFilter)); }