WheelColliderTimeline.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using UnityEngine;
  2. namespace Chronos
  3. {
  4. public class WheelColliderTimeline : ComponentTimeline<WheelCollider>
  5. {
  6. private float _spring;
  7. private float _damper;
  8. private float _targetPosition;
  9. public float spring
  10. {
  11. get { return _spring; }
  12. set
  13. {
  14. _spring = value;
  15. AdjustProperties();
  16. }
  17. }
  18. public float damper
  19. {
  20. get { return _damper; }
  21. set
  22. {
  23. _damper = value;
  24. AdjustProperties();
  25. }
  26. }
  27. public float targetPosition
  28. {
  29. get { return _targetPosition; }
  30. set
  31. {
  32. _targetPosition = value;
  33. AdjustProperties();
  34. }
  35. }
  36. public WheelColliderTimeline(Timeline timeline, WheelCollider component) : base(timeline, component) { }
  37. public override void CopyProperties(WheelCollider source)
  38. {
  39. var suspensionSpring = source.suspensionSpring;
  40. _spring = suspensionSpring.spring;
  41. _damper = suspensionSpring.damper;
  42. _targetPosition = suspensionSpring.targetPosition;
  43. }
  44. public override void AdjustProperties(float timeScale)
  45. {
  46. var suspensionSpring = component.suspensionSpring;
  47. //suspensionSpring.spring = spring * timeScale;
  48. //suspensionSpring.damper = damper * timeScale;
  49. //suspensionSpring.targetPosition = targetPosition * timeScale;
  50. component.suspensionSpring = suspensionSpring;
  51. }
  52. }
  53. }