feat(vehicles): enable direct vehicle boarding with F key via story enter and drive state
This commit is contained in:
1 parent
8d6097fcf3
commit
52ae7b8236
2 files changed
+22
No files matched your search
@@ -243,6 +243,7 @@ internal sealed partial class GameRouter
|
|||||||
{ VehicleInstanceId = vehicleId, ControllerPid = pid });
|
{ VehicleInstanceId = vehicleId, ControllerPid = pid });
|
||||||
await SendVehicleBoardingStatus(conn, unitId, vehicleId, seat, 2);
|
await SendVehicleBoardingStatus(conn, unitId, vehicleId, seat, 2);
|
||||||
conn.Log.Info($"[VEHICLE-STORY] enter begin vehicle={vehicleId} seat={seat} unit={unitId} status=2 lazy={lazyRegistered}");
|
conn.Log.Info($"[VEHICLE-STORY] enter begin vehicle={vehicleId} seat={seat} unit={unitId} status=2 lazy={lazyRegistered}");
|
||||||
|
await ForceEnterVehicleAsync(conn.Session, vehicleId);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task AdvanceVehicleEnter(Connection conn, VehicleStoryState story, int phase)
|
private async Task AdvanceVehicleEnter(Connection conn, VehicleStoryState story, int phase)
|
||||||
|
|||||||
@@ -371,6 +371,27 @@ internal sealed partial class GameRouter
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Handler(MethodId.AskPlayerStartEnterOrExitVehicle, HandlerPacketKind.Notify)]
|
[Handler(MethodId.AskPlayerStartEnterOrExitVehicle, HandlerPacketKind.Notify)]
|
||||||
|
private async Task AskPlayerStartEnterOrExitVehicle(Connection conn, UxRpcMessage msg)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var drive = msg.GetArgs<SceneMethods.PlayerVehicleDriveStateInfo>();
|
||||||
|
conn.Log.Info($"[VEHICLE] AskPlayerStartEnterOrExitVehicle vehicle={drive.VehicleEntityId} enter={drive.EnterOrLeave} seat={drive.SeatIndex}");
|
||||||
|
if (drive.EnterOrLeave)
|
||||||
|
{
|
||||||
|
await ForceEnterVehicleAsync(conn.Session, drive.VehicleEntityId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
await ForceExitVehicleAsync(conn.Session);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
conn.Log.Warn($"[VEHICLE] AskPlayerStartEnterOrExitVehicle failed: {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[Handler(MethodId.AskPlayerFinishEnterOrExitVehicle, HandlerPacketKind.Notify)]
|
[Handler(MethodId.AskPlayerFinishEnterOrExitVehicle, HandlerPacketKind.Notify)]
|
||||||
[Handler(MethodId.AskVehicleStartMove, HandlerPacketKind.Notify)]
|
[Handler(MethodId.AskVehicleStartMove, HandlerPacketKind.Notify)]
|
||||||
[Handler(MethodId.AskVehicleStopMove, HandlerPacketKind.Notify)]
|
[Handler(MethodId.AskVehicleStopMove, HandlerPacketKind.Notify)]
|
||||||
|
|||||||
Reference in new issue
Block a user