예제 #1
0
        private static List <BCMMesh> GetMeshes()
        {
            var meshes = new List <BCMMesh>();

            foreach (var meshDesc in MeshDescription.meshes)
            {
                if (meshDesc == null)
                {
                    continue;
                }

                var item = new BCMMesh
                {
                    Name          = meshDesc.Name,
                    AtlasClass    = meshDesc.TextureAtlasClass,
                    MeshType      = meshDesc.meshType.ToString(),
                    Shadows       = meshDesc.bCastShadows,
                    BlendMode     = meshDesc.BlendMode.ToString(),
                    Tag           = meshDesc.Tag,
                    Collider      = meshDesc.ColliderLayerName,
                    SecShader     = meshDesc.SecondaryShader,
                    ShaderName    = meshDesc.ShaderName,
                    ShaderDistant = meshDesc.ShaderNameDistant,
                    MetaName      = meshDesc.MetaData?.name,
                    MetaText      = meshDesc.MetaData?.text
                                    //todo: convert xml to json for MetaText
                };
                meshes.Add(item);
            }

            return(meshes);
        }
예제 #2
0
        private static IEnumerable <BCMMesh> GetMeshes()
        {
            var meshes = new List <BCMMesh>();

            foreach (var meshDesc in MeshDescription.meshes)
            {
                if (meshDesc == null)
                {
                    continue;
                }

                var doc      = new XmlDocument();
                var meshData = new List <BCMMeshData>();
                if (meshDesc.MetaData != null && !string.IsNullOrEmpty(meshDesc.MetaData.text))
                {
                    doc.LoadXml(meshDesc.MetaData.text);
                    var uvs = doc.DocumentElement?.ChildNodes;
                    if (uvs != null)
                    {
                        foreach (XmlElement uv in uvs)
                        {
                            meshData.Add(new BCMMeshData(uv));
                        }
                    }
                }

                var item = new BCMMesh(meshDesc, meshData);
                meshes.Add(item);
            }

            return(meshes);
        }
예제 #3
0
        private static List <BCMMesh> GetMeshes()
        {
            var meshes = new List <BCMMesh>();

            foreach (var meshDesc in MeshDescription.meshes)
            {
                if (meshDesc == null)
                {
                    continue;
                }

                var doc      = new XmlDocument();
                var meshData = new List <BCMMeshData>();
                if (meshDesc.MetaData != null && !string.IsNullOrEmpty(meshDesc.MetaData.text))
                {
                    doc.LoadXml(meshDesc.MetaData.text);
                    var uvs = doc.DocumentElement?.ChildNodes;
                    if (uvs != null)
                    {
                        foreach (XmlElement uv in uvs)
                        {
                            meshData.Add(new BCMMeshData(uv));
                        }
                    }
                }

                var item = new BCMMesh
                {
                    Name          = meshDesc.Name,
                    AtlasClass    = meshDesc.TextureAtlasClass,
                    MeshType      = meshDesc.meshType.ToString(),
                    Shadows       = meshDesc.bCastShadows,
                    BlendMode     = meshDesc.BlendMode.ToString(),
                    Tag           = meshDesc.Tag,
                    Collider      = meshDesc.ColliderLayerName,
                    SecShader     = meshDesc.SecondaryShader,
                    ShaderName    = meshDesc.ShaderName,
                    ShaderDistant = meshDesc.ShaderNameDistant,
                    MetaName      = meshDesc.MetaData?.name,
                    MetaText      = meshDesc.MetaData?.text,
                    MetaData      = meshData
                                    //todo: convert xml to json for MetaText
                };
                meshes.Add(item);
            }

            return(meshes);
        }