void ZombieObserver::provideContent(RelogoAgent* agent, std::vector<AgentPackage>& out) { AgentId id = agent->getId(); AgentPackage content = { id.id(), id.startingRank(), id.agentType(), id.currentRank(), 0, false }; if (id.agentType() == humanType) { Human* human = static_cast<Human*> (agent); content.infected = human->infected(); content.infectionTime = human->infectionTime(); } out.push_back(content); }
void ZombieObserver::provideContent(const repast::AgentRequest& request, std::vector<AgentPackage>& out) { const vector<AgentId>& ids = request.requestedAgents(); for (int i = 0, n = ids.size(); i < n; i++) { AgentId id = ids[i]; AgentPackage content = { id.id(), id.startingRank(), id.agentType(), id.currentRank(), 0, false }; if (id.agentType() == humanType) { Human* human = who<Human> (id); content.infected = human->infected(); content.infectionTime = human->infectionTime(); } out.push_back(content); } }