Steering Angle sync
This commit is contained in:
@ -49,6 +49,7 @@ namespace CoopClient
|
||||
public Vector3 VehiclePosition { get; set; }
|
||||
public Quaternion VehicleRotation { get; set; }
|
||||
public float VehicleSpeed { get; set; }
|
||||
public float VehicleSteeringAngle { get; set; }
|
||||
#endregion
|
||||
|
||||
public void DisplayLocally(string username)
|
||||
@ -243,6 +244,8 @@ namespace CoopClient
|
||||
Character.IsVisible = true;
|
||||
}
|
||||
|
||||
MainVehicle.SteeringAngle = VehicleSteeringAngle;
|
||||
|
||||
float range = MainVehicle.Position.DistanceTo(VehiclePosition);
|
||||
|
||||
// Good enough for now, but we need to create a better sync
|
||||
|
@ -299,6 +299,7 @@ namespace CoopClient
|
||||
DebugSyncPed.VehiclePosition = veh.Position;
|
||||
DebugSyncPed.VehicleRotation = veh.Quaternion;
|
||||
DebugSyncPed.VehicleSpeed = veh.Speed;
|
||||
DebugSyncPed.VehicleSteeringAngle = veh.SteeringAngle;
|
||||
}
|
||||
|
||||
DebugSyncPed.IsInVehicle = (flags.Value & (byte)PedDataFlags.IsInVehicle) > 0;
|
||||
|
@ -393,6 +393,7 @@ namespace CoopClient
|
||||
npc.VehiclePosition = packet.VehPosition.ToVector();
|
||||
npc.VehicleRotation = packet.VehRotation.ToQuaternion();
|
||||
npc.VehicleSpeed = packet.VehSpeed;
|
||||
npc.VehicleSteeringAngle = packet.VehSteeringAngle;
|
||||
npc.LastSyncWasFull = (packet.Flag.Value & (byte)PedDataFlags.LastSyncWasFull) > 0;
|
||||
npc.IsInVehicle = (packet.Flag.Value & (byte)PedDataFlags.IsInVehicle) > 0;
|
||||
}
|
||||
@ -410,6 +411,7 @@ namespace CoopClient
|
||||
VehiclePosition = packet.VehPosition.ToVector(),
|
||||
VehicleRotation = packet.VehRotation.ToQuaternion(),
|
||||
VehicleSpeed = packet.VehSpeed,
|
||||
VehicleSteeringAngle = packet.VehSteeringAngle,
|
||||
LastSyncWasFull = (packet.Flag.Value & (byte)PedDataFlags.LastSyncWasFull) > 0,
|
||||
IsInVehicle = (packet.Flag.Value & (byte)PedDataFlags.IsInVehicle) > 0
|
||||
});
|
||||
|
@ -461,6 +461,9 @@ namespace CoopClient
|
||||
public float VehSpeed { get; set; }
|
||||
|
||||
[ProtoMember(11)]
|
||||
public float VehSteeringAngle { get; set; }
|
||||
|
||||
[ProtoMember(12)]
|
||||
public byte? Flag { get; set; } = 0;
|
||||
|
||||
public override void PacketToNetOutGoingMessage(NetOutgoingMessage message)
|
||||
@ -489,6 +492,7 @@ namespace CoopClient
|
||||
VehPosition = data.VehPosition;
|
||||
VehRotation = data.VehRotation;
|
||||
VehSpeed = data.VehSpeed;
|
||||
VehSteeringAngle = data.VehSteeringAngle;
|
||||
Flag = data.Flag;
|
||||
}
|
||||
}
|
||||
|
@ -424,6 +424,9 @@ namespace CoopServer
|
||||
public float VehSpeed { get; set; }
|
||||
|
||||
[ProtoMember(11)]
|
||||
public float VehSteeringAngle { get; set; }
|
||||
|
||||
[ProtoMember(12)]
|
||||
public byte? Flag { get; set; } = 0;
|
||||
|
||||
public override void PacketToNetOutGoingMessage(NetOutgoingMessage message)
|
||||
@ -452,6 +455,7 @@ namespace CoopServer
|
||||
VehPosition = data.VehPosition;
|
||||
VehRotation = data.VehRotation;
|
||||
VehSpeed = data.VehSpeed;
|
||||
VehSteeringAngle = data.VehSteeringAngle;
|
||||
Flag = data.Flag;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user