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), }); }