internal override void Write(ResourceWriter writer) { switch (Type) { case KeyframeType.NodePR: case KeyframeType.NodePRS: writer.WriteVector3(Position); writer.WriteQuaternion(Rotation); if (Type == KeyframeType.NodePRS) { writer.WriteVector3(Scale); } break; case KeyframeType.NodePRHalf: case KeyframeType.NodePRSHalf: case KeyframeType.NodePRHalf_2: writer.WriteVector3Half(Position); writer.WriteQuaternionHalf(Rotation); if (Type == KeyframeType.NodePRSHalf) { writer.WriteVector3Half(Scale); } break; case KeyframeType.NodePHalf: writer.WriteVector3Half(Position); break; case KeyframeType.NodeRHalf: writer.WriteQuaternionHalf(Rotation); break; case KeyframeType.NodeSHalf: writer.WriteVector3Half(Scale); break; default: throw new InvalidOperationException(nameof(Type)); } }
internal override void Write(ResourceWriter writer) { writer.WriteQuaternion(Value); }