变量:
private int standardMessageClassCount;//标准消息计数
private int customMessageClassCount;//其他消息计数
private HashMap<Integer, Class<? extends CommunicationMessage>> messageClassMap;
private HashMap<Class<? extends CommunicationMessage>, Integer> messageClassIDMap;
private ArrayList<CommunicationMessage> sendMessageList;//发送消息
private List<CommunicationMessage> receivedMessageList;//接收消息
private int heardAgentHelpCount;//听到智能体呼救的次数
private List<MessageCoordinator> messageCoordinatorList;//消息坐标的表
private Set<String> checkDuplicationCache;
方法:
public boolean registerMessageClass(int index, @Nonnull Class<? extends CommunicationMessage> messageClass) //当存信息的图messageClassMap messageClassIDMap没满时,将不存在于messageClassMap的信息存进去。
public void registerMessageBundle(@Nonnull MessageBundle messageBundle) //将一批数据加到standardMessageClassCount customMessageClassCount以及messageCoordinator
public Class<? extends CommunicationMessage> getMessageClass(int index) //获得MessageClass中某个的message
public int getMessageClassIndex(@Nonnull CommunicationMessage message) //获得某一message对应的key
public void addMessage(@Nonnull CommunicationMessage message) //添加message
public List<CommunicationMessage> getSendMessageList() //获得sendMessageList
public void addReceivedMessage(@Nonnull CommunicationMessage message)//添加接收的消息
public List<CommunicationMessage> getReceivedMessageList()/获得 接收的消息
public final List<CommunicationMessage> getReceivedMessageList(Class<? extends CommunicationMessage>... messageClasses) //返回messageClasses中被接收的信息
public void coordinateMessages(AgentInfo agentInfo, WorldInfo worldInfo, ScenarioInfo scenarioInfo) //?
public void addHeardAgentHelpCount()//添加求救信息
public int getHeardAgentHelpCount()//获得求救信息
public void refresh() //重置
简述:
此类主要是对世界中的信息进行管理,用map,set,list等存有关消息的信息,在这个类里,我们可以添加一个新的消息,或者得到发送信息的List,已接收信息的List,求救信息次数,得到key对应的message或者message对应的key。通过此类,可以实现管理世界的消息。