Example #1
0
  @Override
  public void controlUpdate(float tpf, Monster monster, Area area) {
    secondsElapsed -= tpf;
    if (secondsElapsed < 0) {
      Moving a = new Moving();
      a.setRequiredDistance(0.5f);
      float dx = 10 - RandomUtil.nextInt(20);
      float dz = 10 - RandomUtil.nextInt(20);
      Vector3f destination = monster.getHome().add(dx, 0, dz);

      if (monster.getSpatial().getControl(GravityController.class) != null) {
        GravityController.correctPosition(destination, monster.getSpatial(), area.getScene());
      }

      a.setDestination(destination);
      monster.setBehavior(a);
      monster.getSprite().setInstantAnimation(Animation.WALK);
    }
  }