VehicleTrack.cpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. // SPDX-FileCopyrightText: 2021 Jorrit Rouwe
  2. // SPDX-License-Identifier: MIT
  3. #include <Jolt/Jolt.h>
  4. #include <Jolt/Physics/Vehicle/VehicleTrack.h>
  5. #include <Jolt/ObjectStream/TypeDeclarations.h>
  6. JPH_NAMESPACE_BEGIN
  7. JPH_IMPLEMENT_SERIALIZABLE_NON_VIRTUAL(VehicleTrackSettings)
  8. {
  9. JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mDrivenWheel)
  10. JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mWheels)
  11. JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mInertia)
  12. JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mAngularDamping)
  13. JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mMaxBrakeTorque)
  14. JPH_ADD_ATTRIBUTE(VehicleTrackSettings, mDifferentialRatio)
  15. }
  16. void VehicleTrackSettings::SaveBinaryState(StreamOut &inStream) const
  17. {
  18. inStream.Write(mDrivenWheel);
  19. inStream.Write(mWheels);
  20. inStream.Write(mInertia);
  21. inStream.Write(mAngularDamping);
  22. inStream.Write(mMaxBrakeTorque);
  23. inStream.Write(mDifferentialRatio);
  24. }
  25. void VehicleTrackSettings::RestoreBinaryState(StreamIn &inStream)
  26. {
  27. inStream.Read(mDrivenWheel);
  28. inStream.Read(mWheels);
  29. inStream.Read(mInertia);
  30. inStream.Read(mAngularDamping);
  31. inStream.Read(mMaxBrakeTorque);
  32. inStream.Read(mDifferentialRatio);
  33. }
  34. void VehicleTrack::SaveState(StateRecorder &inStream) const
  35. {
  36. inStream.Write(mAngularVelocity);
  37. }
  38. void VehicleTrack::RestoreState(StateRecorder &inStream)
  39. {
  40. inStream.Read(mAngularVelocity);
  41. }
  42. JPH_NAMESPACE_END