public EntityFilterCollectionsWithContextEnumerator(NativeDynamicArrayCast <int> getDirectValueByRef, SharedSveltoDictionaryNative <long, EntityFilterCollection> sharedSveltoDictionaryNative, FilterContextID filterContextId) : this() { _getDirectValueByRef = getDirectValueByRef; _sharedSveltoDictionaryNative = sharedSveltoDictionaryNative; _filterContextId = filterContextId; }
public bool TryGetPersistentFilters <T>(FilterContextID filterContextId, out EntityFilterCollectionsWithContextEnumerator enumerator) { if (_indicesOfPersistentFiltersUsedByThisComponent.TryFindIndex( new NativeRefWrapperType(new RefWrapperType(typeof(T))), out var index) == true) { enumerator = new EntityFilterCollectionsWithContextEnumerator( _indicesOfPersistentFiltersUsedByThisComponent.GetDirectValueByRef(index), _persistentEntityFilters, filterContextId); return(true); } enumerator = default; return(false); }
public ref EntityFilterCollection GetOrCreatePersistentFilter <T>(int filterID, FilterContextID filterContextId, NativeRefWrapperType typeRef) where T : unmanaged, IEntityComponent { return(ref GetOrCreatePersistentFilter <T>(new CombinedFilterID(filterID, filterContextId), typeRef)); }
public EntityFilterCollectionsWithContextEnumerator GetPersistentFilters <T>(FilterContextID filterContextId) { if (_indicesOfPersistentFiltersUsedByThisComponent.TryFindIndex( new NativeRefWrapperType(new RefWrapperType(typeof(T))), out var index) == true) { return(new EntityFilterCollectionsWithContextEnumerator( _indicesOfPersistentFiltersUsedByThisComponent.GetDirectValueByRef(index), _persistentEntityFilters, filterContextId)); } throw new Exception($"no filters associated with the type {TypeCache<T>.name}"); }
public ref EntityFilterCollection GetPersistentFilter <T>(int filterID, FilterContextID filterContextId) where T : unmanaged, IEntityComponent { return(ref GetPersistentFilter <T>(new CombinedFilterID(filterID, filterContextId))); }