Example #1
0
        private AgentCommunicator GetCommsInternal(int actorID)
        {
            AgentCommunicator comms = null;

            if (!communicators.TryGetValue(actorID, out comms))
            {
                comms = new AgentCommunicator(this, actorID);
                communicators[actorID] = comms;
            }

            return(comms);
        }
Example #2
0
        private IEnumerable <AgentCommunicator> GetCommunicatorsInRange(int actorID, int filterID = -1)
        {
            List <AgentCommunicator> comms = new List <AgentCommunicator>();

            foreach (ISoaActor actor in connectivity.GetActorsInCliqueOf(actorID))
            {
                AgentCommunicator neighborComm = GetCommsInternal(actor.getID());
                if (neighborComm.callback != null && filterID == -1 || filterID == neighborComm.actorID)
                {
                    comms.Add(neighborComm);
                }
            }
            return(comms);
        }