private static void WriteMaterial(XMaterial material, XofFileSaveData saveData) { if (material.IsReference) { saveData.AddDataReference(material.Name, null); } else { byte[] data = BuildMaterialData(material); using (var child = saveData.AddData(XofFileDefaultTemplates.MaterialId, material.Name, null, data)) { WriteMaterialChildren(material, child); } } }
private static void ConvertData(XofFileEnumData enumData, XofFileSaveData saveData) { int count = enumData.GetChildrenCount(); for (int i = 0; i < count; i++) { using (var child = enumData.GetChild(i)) { if (child.IsReference()) { saveData.AddDataReference(child); } else { using (var saveChild = saveData.AddData(child)) { ConvertData(child, saveChild); } } } } }