protected void SerializeInternal(MyObjectBuilder_FractureComponentBase ob) { Debug.Assert(m_tmpChildren.Count == 0); if (string.IsNullOrEmpty(Shape.Name) || Shape.IsCompound() || Shape.GetChildrenCount() > 0) { Shape.GetChildren(m_tmpChildren); foreach (var child in m_tmpChildren) { var shape = new MyObjectBuilder_FractureComponentCubeBlock.FracturedShape() { Name = child.ShapeName, Fixed = MyDestructionHelper.IsFixed(child.Shape) }; ob.Shapes.Add(shape); } m_tmpChildren.Clear(); } else { ob.Shapes.Add(new MyObjectBuilder_FractureComponentCubeBlock.FracturedShape() { Name = Shape.Name }); } }