public RelationCosmos() { allRelations = new Relations(); registeredRelations = new Relations(); allIncomingRelations = new RelationLists(); registeredIncomingRelations = new RelationLists(); }
private static void AddToRelationList(string key, RelationBase relation, RelationLists toRelations) { RelationList list = GetRelationList(key, toRelations); if (!list.Contains(relation)) { list.Add(relation); } }
private static RelationList GetRelationList(string key, RelationLists fromRelations) { RelationList list = fromRelations[key]; if (list == null) { list = new RelationList(3); fromRelations.Add(key, list); } return(list); }
private static void RemoveFromRelationList(string key, RelationBase relation, RelationLists fromRelations) { RelationList list = fromRelations[key]; if (list != null) { int removeIndex = list.IndexOf(relation); if (removeIndex >= 0) { list.RemoveAt(removeIndex); } if (list.Count == 0) { fromRelations.Remove(key); } } }