public PilotInputSnapshot Merge(PilotInputSnapshot c)
 {
     return(new PilotInputSnapshot {
         Timestamp = c.Timestamp,
         Pitch = Adapters.MergeAxes(Pitch, c.Pitch),
         Roll = Adapters.MergeAxes(Roll, c.Roll),
         Yaw = Adapters.MergeAxes(Yaw, c.Yaw),
         Cannonball = Adapters.MergeAxes(Cannonball, c.Cannonball),
         CloseLeftArm = Adapters.MergeAxes(CloseLeftArm, c.CloseLeftArm),
         CloseRightArm = Adapters.MergeAxes(CloseRightArm, c.CloseRightArm),
     });
 }
 public static PilotInputSnapshot Lerp(PilotInputSnapshot c1, PilotInputSnapshot c2, float lerp)
 {
     return(new PilotInputSnapshot()
     {
         Timestamp = Mathd.Lerp(c1.Timestamp, c2.Timestamp, lerp),
         Pitch = Mathf.Lerp(c1.Pitch, c2.Pitch, lerp),
         Roll = Mathf.Lerp(c1.Roll, c2.Roll, lerp),
         Yaw = Mathf.Lerp(c1.Yaw, c2.Yaw, lerp),
         Cannonball = Mathf.Lerp(c1.Cannonball, c2.Cannonball, lerp),
         CloseLeftArm = Mathf.Lerp(c1.CloseLeftArm, c2.CloseLeftArm, lerp),
         CloseRightArm = Mathf.Lerp(c1.CloseRightArm, c2.CloseRightArm, lerp),
     });
 }