26.03.2014, 19:32
Quote:
Great! I'm looking forward to this new version
Correct me if I'm wrong but does Java 8 even exists? Last time I checked it was Java 7. |
http://www.oracle.com/technetwork/ja...ads/index.html
Quote:
@mk124
Can you implement something like this: Dialog::createList("Spawn Vehicle", "Okay", "Oh no") ->addRow("Stallion", 439) ->addRow("Pizzaboy", 44 ->addRow("Turismo", 451) ->addRow("Flatbed", 455) ->addRow("Yankee", 456) ->on("Success", function($player, $dialog, $id) { [...] $vehicle = Vehicle::create($id, $pos->x, $pos->y, $pos->z, $facing); [...] })->showPlayer($player); I mean, that you can give something like a vehicle ID with the ListItem like addRow("Stallion", 439) and then you can receive that Value(439) in the OnDialogResponse Event? |
https://github.com/GTAUN/wl-vehicle-...istDialog.java
The key code is:
Code:
int[] vehicleModelIds = ArrayUtils.toPrimitive(VehicleModel.getIds().toArray(new Integer[0]));
Code:
for (int modelId : modelIds) dialogListItems.add(new DialogListItemVehicle(modelId));
Code:
public class DialogListItemVehicle extends DialogListItem { private final int modelId; private final long driveCount; private final long globalDriveCount; public DialogListItemVehicle(int modelId) { final LocalizedStringSet stringSet = vehicleManagerService.getLocalizedStringSet(); this.modelId = modelId; final String name = VehicleModel.getName(modelId); final int seats = VehicleModel.getSeats(modelId); PlayerVehicleStatistic stat = vehicleManagerService.getPlayerVehicleStatistic(player, modelId); GlobalVehicleStatistic globalStat = vehicleManagerService.getGlobalVehicleStatistic(modelId); driveCount = stat.getDriveCount(); globalDriveCount = globalStat.getDriveCount(); this.itemString = stringSet.format(player, "Dialog.VehicleCreateListDialog.Item", name, modelId, seats, driveCount, globalDriveCount); } @Override public void onItemSelect() { final LocalizedStringSet stringSet = vehicleManagerService.getLocalizedStringSet(); player.playSound(1057, player.getLocation()); Vehicle vehicle = vehicleManagerService.createOwnVehicle(player, modelId); vehicle.putPlayer(player, 0); player.sendMessage(Color.LIGHTBLUE, stringSet.format(player, "Dialog.VehicleCreateListDialog.CreateMessage", VehicleModel.getName(vehicle.getModelId()))); destroy(); } }