如何在RinSim 4.1.0中获取模拟器的时间?

时间:2016-04-27 09:45:34

标签: java rinsim

我想知道initRoadPDP方法中的时间(继承自Depot类)。如果没有在我的班级中插入Simulator对象作为字段,这是否可行?

class MyDepot extends Depot {

  @Override
  public void initRoadPDP(RoadModel pRoadModel, PDPModel pPdpModel) {
    // how to know the current time?
  }
}

1 个答案:

答案 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) {}
}