Esempio n. 1
0
  private void addPiece(TrackPiece piece, float tripOffset) {

    String placedPieceId = Integer.toString(placedPiecekIdSeq.incrementAndGet());

    PlacedPiece placed = new PlacedPiece(placedPieceId, piece, tripOffset);
    world.trackPieces.addLast(placed);
    for (ObstacleDef obstacleDef : piece.getObstacleDefs()) {
      Obstacle obstacle = world.createObstacle(placedPieceId, obstacleDef, tripOffset);
      placed.instantiatedObstacles.put(obstacle.defId, obstacle);
      world.addObstacle(obstacle);
    }

    // ühenda väljundid
    for (Obstacle obstacle : placed.instantiatedObstacles.values()) {
      if (obstacle instanceof Trigger) {
        Trigger trigger = (Trigger) obstacle;
        trigger.setOutput((Wireable) placed.instantiatedObstacles.get(trigger.outputId));
      }
    }
  }