private AssossiativeSet<Agent> GetSubtractionOfAgentDics(Dictionary<string, Agent> a, Dictionary<string, Agent> b)
 {
     AssossiativeSet<Agent> toret = new AssossiativeSet<Agent>(100);
     foreach (KeyValuePair<string, Agent> pair in a)
     {
         if (!b.ContainsKey(pair.Key))
         {
             toret.Add(pair.Value);
         }
     }
     return toret;
 }
Beispiel #2
0
        private AssossiativeSet <Agent> GetSubtractionOfAgentDics(Dictionary <string, Agent> a, Dictionary <string, Agent> b)
        {
            AssossiativeSet <Agent> toret = new AssossiativeSet <Agent>(100);

            foreach (KeyValuePair <string, Agent> pair in a)
            {
                if (!b.ContainsKey(pair.Key))
                {
                    toret.Add(pair.Value);
                }
            }
            return(toret);
        }
        private void AddTransition(EpisState a, EpisState b, AssossiativeSet<Agent> tags , bool unionTagsIfAlreadyAPair)
        {
            EpisTransitionPair newPair = new EpisTransitionPair(a,b) {TagedAgents = tags};

            EpisTransitionPair availablePair = TransitionRelation.Find(x => x.Equals(newPair));
            if (availablePair==null)
            {
                TransitionRelation.Add(newPair);
            }
            else
            {
                if (unionTagsIfAlreadyAPair)
                    availablePair.TagedAgents.Union(tags);
            }
        }