📄 taskfinishedmessage.java
字号:
package MRL.Utilities.MessageManagement;import yab.agent.DisasterSpace;import yab.agent.object.AmbulanceCenter;import yab.agent.object.AmbulanceTeam;import yab.agent.object.PoliceOffice;import yab.agent.object.PoliceForce;import java.util.Map;import java.util.Collections;import MRL.Police.TaskHandler;import MRL.Police.EPoliceForce;import MRL.Police.EPoliceOffice;//saeed 85-2-3public class TaskFinishedMessage extends Message{ int index; static final int indexSize = 4; public TaskFinishedMessage(int index) { super(Type.TASK_FINISHED_REPORT, null); this.index = index; } char[] toCharArray(Map ids) { char[] result = new char[length()]; char[] temp = Util.intToCharArray(index, indexSize); Util.copyArray(temp, result, 0, 0, indexSize); return result; } protected int length() { return staticLength(); } protected static int staticLength() { return indexSize; } public boolean equals(Object m) { if (!(m instanceof TaskFinishedMessage)) return false; return ((TaskFinishedMessage) m).index == index; } public int hashCode() { return index; } void updateWorld(DisasterSpace world, int time) { if (world.self instanceof PoliceForce) {// Collections.sort(world.policeForces, yab.agent.Util.idComparator); PoliceForce pf = (PoliceForce) world.policeForces.get(index); EPoliceForce me = (EPoliceForce) world.self; if(pf != me){ TaskHandler th = me.taskHandler; th.setTaskAssignedByCenterFinished(pf,time); } } else if(world.self instanceof PoliceOffice){// Collections.sort(world.policeForces, yab.agent.Util.idComparator); EPoliceOffice po = (EPoliceOffice) world.self; PoliceForce pf = (PoliceForce) world.policeForces.get(index); po.policeTaskMap.remove(pf); po.policeTaskTimeMap.remove(pf); // System.out.println(po + " , Heared Task Is Finished From : " + pf + " , In Time : " + time); } } public TaskFinishedMessage(char[] message) { super(Type.TASK_FINISHED_REPORT, null); this.index = Util.charArrayToint(message, 0, indexSize); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -