我想知道initRoadPDP
方法内部的时间(从Depot
类继承)。如果不将Simulator
对象作为字段插入到我的班级中,这是否可行?
class MyDepot extends Depot {
@Override
public void initRoadPDP(RoadModel pRoadModel, PDPModel pPdpModel) {
// how to know the current time?
}
}
该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) {}
}