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);
                }
            }
        }
Exemple #2
0
        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);
                        }
                    }
                }
            }
        }