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)); } } }