public void GetObjectData(SerializationInfo info, StreamingContext context) { if (info is null) { throw new ArgumentNullException(nameof(info)); } info.AddValue("Type", TYPE_NAME); info.AddVector3(nameof(Position), Position); info.AddQuaternion(nameof(Orientation), Orientation); }