Ejemplo n.º 1
0
    override protected void Action()
    {
        DFAgentDescription   dfAgentDescription = new DFAgentDescription();
        DFServiceDescription serviceDescription = new DFServiceDescription();

        serviceDescription.Type = WorkVocabulary.WORK;
        serviceDescription.Name = WorkVocabulary.COLLECT_STONE_SERVICE;
        dfAgentDescription.AddService(serviceDescription);
        Action <AgentDescriptionListConcept> action = delegate(AgentDescriptionListConcept concept) {
            List <DFAgentDescription> agents = concept.AgentDescriptions.FindAll(agentDescription => canAgentBeRequested(agentDescription));

            if (agents.Count != 0)
            {
                requestCollectingStone(agents.First().AgentId);
            }
        };

        DFService.RequestSearch(coordinatorAgent, dfAgentDescription, action);
    }
Ejemplo n.º 2
0
        override protected void Action()
        {
            DFAgentDescription   dfAgentDescription = new DFAgentDescription();
            DFServiceDescription serviceDescription = new DFServiceDescription();

            serviceDescription.Type = ChaseVocabulary.CHASE_TYPE;
            serviceDescription.Name = ChaseVocabulary.CHASE_SERVICE;
            dfAgentDescription.AddService(serviceDescription);
            Action <AgentDescriptionListConcept> action = delegate(AgentDescriptionListConcept concept) {
                foreach (DFAgentDescription agentDescription in concept.AgentDescriptions)
                {
                    AgentMessage message = new AgentMessage(AgentMessage.PerformativeType.INFORM);
                    message.Receiver = agentDescription.AgentId;
                    message.Ontology = ChaseVocabulary.CHASE_ONTOLOGY;
                    message.Content  = new PlayerPositionConcept(position);
                    Agent.Send(message);
                }
            };

            DFService.RequestSearch(Agent, dfAgentDescription, action);
        }