Skip to content

Commit 7cf4112

Browse files
committed
Add shortcut for vehicle drag tool
1 parent f084fd3 commit 7cf4112

File tree

4 files changed

+9
-6
lines changed

4 files changed

+9
-6
lines changed

src/services/shortcuts.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export function registerShortcuts(): void
77
{
88
createShortcut("open", "[RVE] Open window", ["E"], () => openEditorWindow());
99
createShortcut("pick", "[RVE] Activate picker", ["CTRL+E", "GUI+E"], () => model._setPicker(!model._isPicking.get(), () => model._isOpen || openEditorWindow()));
10+
createShortcut("drag", "[RVE] Activate drag tool for selected vehicle", ["CTRL+D", "GUI+D"], () => model._setDragger(!model._isDragging.get()));
1011
createShortcut("copy", "[RVE] Copy selected vehicle", null, () => model._copy(true));
1112
createShortcut("paste", "[RVE] Paste copied vehicle", null, () => model._paste());
1213
createShortcut("locate", "[RVE] Move camera to selected vehicle", null, () => model._locate());

src/services/vehicleDragger.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ export const dragToolId = "rve-drag-vehicle";
2121
/**
2222
* Enable or disable a tool to drag the vehicle to a new location.
2323
*/
24-
export function toggleVehicleDragger(isPressed: boolean, storeVehicle: Store<[RideVehicle, number] | null>, storeX: Store<number>, storeY: Store<number>, storeZ: Store<number>, storeTrackLocation: Store<CarTrackLocation | null>, storeTrackProgress: Store<number>, onCancel: () => void): void
24+
export function toggleVehicleDragger(active: boolean, storeVehicle: Store<[RideVehicle, number] | null>, storeX: Store<number>, storeY: Store<number>, storeZ: Store<number>, storeTrackLocation: Store<CarTrackLocation | null>, storeTrackProgress: Store<number>, onCancel: () => void): void
2525
{
2626
const rideVehicle = storeVehicle.get();
27-
if (!isPressed || !rideVehicle)
27+
if (!active || !rideVehicle)
2828
{
2929
cancelTools(dragToolId);
3030
return;

src/ui/mainWindow.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,8 @@ const mainWindow = window({
135135
width: buttonSize, height: buttonSize,
136136
tooltip: "Drag stationary vehicles to new places on the map",
137137
image: 5174, // SPR_PICKUP_BTN
138-
isPressed: twoway(model._isDragging),
139138
disabled: model._isPositionDisabled,
139+
isPressed: model._isDragging,
140140
onChange: pressed => model._setDragger(pressed)
141141
}),
142142
toggle({

src/viewmodels/vehicleViewModel.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -330,15 +330,16 @@ export class VehicleViewModel
330330
*/
331331
_setPicker(active: boolean, onSelect?: () => void): void
332332
{
333-
this._isPicking.set(true);
333+
this._isPicking.set(active);
334334
toggleVehiclePicker(
335-
active, c =>
335+
active,
336+
car =>
336337
{
337338
if (onSelect)
338339
{
339340
onSelect();
340341
}
341-
this._selectCar(c);
342+
this._selectCar(car);
342343
},
343344
() => this._isPicking.set(false)
344345
);
@@ -351,6 +352,7 @@ export class VehicleViewModel
351352
{
352353
if (this._isOpen)
353354
{
355+
this._isDragging.set(active);
354356
toggleVehicleDragger(active, this._selectedVehicle, this._x, this._y, this._z, this._trackLocation, this._trackProgress, () => this._isDragging.set(false));
355357
}
356358
}

0 commit comments

Comments
 (0)