我想知道initRoadPDP
方法中的时间(继承自Depot
类)。如果没有在我的班级中插入Simulator
对象作为字段,这是否可行?
class MyDepot extends Depot {
@Override
public void initRoadPDP(RoadModel pRoadModel, PDPModel pPdpModel) {
// how to know the current time?
}
}
答案 0 :(得分:0)
在initRoadPDP(..)
的初始化阶段调用MyDepot
方法。这是在Depot
添加到模拟器时发生的,对于软件仓库,通常在模拟时间开始之前。
获得时间进度通知的标准方法是实现TickListener接口。除了跟踪时间外,此界面还允许您使用收到的TimeLapse
对象执行花费时间的操作。但是,由于收到的第一个标记始终是在调用initRoadPDP
之后,此方法可能不适用于此情况。
无论如何,使用TickListener
的代码如下所示:
class MyDepot extends Depot implements TickListener {
public MyDepot(Point position) {
super(position);
}
@Override
public void initRoadPDP(RoadModel pRoadModel, PDPModel pPdpModel) {
// how to know the current time?
}
@Override
public void tick(TimeLapse timeLapse) {
timeLapse.getTime(); // current time
}
@Override
public void afterTick(TimeLapse timeLapse) {}
}