protected EntityIndexBase( string name, IEntityGroup <TEntity> group, IKeyValueGetter <TEntity, TKey> keyValueGetter) { Name = name; KeyValueGetter = keyValueGetter; group.AddListener(this); Group = group; }
public EntityRelationship(string name, IEntityGroup <TEntity> referencingGroup, IEntityGroup <TEntity> referencedGroup, IKeyValueGetter <TEntity, int> keyValueGetter, Action <TEntity, TEntity, Component> handleReferencedDeleted, bool referencedKeepAlive = false, bool referencingKeepAlive = false) : base( name, referencingGroup, referencedGroup, keyValueGetter, handleReferencedDeleted, referencedKeepAlive, referencingKeepAlive) => referencedGroup.AddListener(new ReferencedGroupListener(this));
protected EntityRelationshipBase( string name, IEntityGroup <TEntity> referencingGroup, IEntityGroup <TEntity> referencedGroup, IKeyValueGetter <TEntity, int> keyValueGetter, Action <TEntity, TEntity, Component> handleReferencedDeleted, bool referencedKeepAlive, bool referencingKeepAlive) : base(name, referencingGroup, keyValueGetter) { ReferencingGroup = referencingGroup; ReferencedGroup = referencedGroup; _handleReferencedDeleted = handleReferencedDeleted; _referencedKeepAlive = referencedKeepAlive; _referencingKeepAlive = referencingKeepAlive; }
public SortedEntityRelationship( string name, IEntityGroup <TEntity> referencingGroup, IEntityGroup <TEntity> referencedGroup, IKeyValueGetter <TEntity, int> keyValueGetter, IKeyValueGetter <TEntity, TKey> sortValueGetter, Action <TEntity, TEntity, Component> handleReferencedDeleted, bool referencedKeepAlive = false, bool referencingKeepAlive = false) : this( name, referencingGroup, referencedGroup, keyValueGetter, sortValueGetter, handleReferencedDeleted, referencedKeepAlive, referencingKeepAlive, comparer : null) { }
public SortedEntityRelationship(string name, IEntityGroup <TEntity> referencingGroup, IEntityGroup <TEntity> referencedGroup, IKeyValueGetter <TEntity, int> keyValueGetter, IKeyValueGetter <TEntity, TKey> sortValueGetter, Action <TEntity, TEntity, Component> handleReferencedDeleted, bool referencedKeepAlive, bool referencingKeepAlive, IComparer <TKey> comparer) : base( name, referencingGroup, referencedGroup, keyValueGetter, handleReferencedDeleted, referencedKeepAlive, referencingKeepAlive) { _sortValueGetter = sortValueGetter; _comparer = comparer; referencedGroup.AddListener(new ReferencedGroupListener(this)); }