コード例 #1
0
 public RelationCosmos()
 {
     allRelations                = new Relations();
     registeredRelations         = new Relations();
     allIncomingRelations        = new RelationLists();
     registeredIncomingRelations = new RelationLists();
 }
コード例 #2
0
        private static void AddToRelationList(string key, RelationBase relation, RelationLists toRelations)
        {
            RelationList list = GetRelationList(key, toRelations);

            if (!list.Contains(relation))
            {
                list.Add(relation);
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
                }
            }
        }