public void GetEntitiesFromDeep(DeepMemoryQuery <T> query, int currentKeyPosition = 0) { DeepMemory <T> memory; if (currentKeyPosition < query.Links.Count) { LogicGroup lr = query.Links.GetRecord(currentKeyPosition); foreach (uint key in lr.List) { if (this.Mems.TryGetValue(key, out memory)) { memory.GetEntitiesFromDeep(query, currentKeyPosition + 1); } } return; } lock (this.locker) { if (this.ObjsInDeep != null) { query.Result.AddRange(this.ObjsInDeep); } } }
public void Remove(LogicGroup record) { this._records.RemoveAll(s => (s.ToString() == record.ToString())); this.optimize(); }
public void Add(LogicGroup record) { this._records.Add(record); this.optimize(); }