Example #1
0
        private YAMLNode ExportMaterialTemplate(IExportContainer container)
        {
            if (GetSerializedVersion(container.ExportVersion) < 5)
            {
                return(MaterialTemplate.ExportYAML(container));
            }
            if (GetSerializedVersion(container.Version) >= 5)
            {
                return(MaterialTemplate.ExportYAML(container));
            }

            MaterialType type = GetMaterialType(container.Version);

            if (type == MaterialType.BuiltInStandard)
            {
                EngineBuiltInAsset asset = EngineBuiltInAssets.GetMaterial(EngineBuiltInAssets.DefaultTerrainStandardName, container.ExportVersion);
                return(asset.ToExportPointer().ExportYAML(container));
            }
            if (type == MaterialType.BuiltInLegacyDiffuse)
            {
                EngineBuiltInAsset asset = EngineBuiltInAssets.GetMaterial(EngineBuiltInAssets.DefaultTerrainDiffuseName, container.ExportVersion);
                return(asset.ToExportPointer().ExportYAML(container));
            }
            if (type == MaterialType.BuiltInLegacySpecular)
            {
                EngineBuiltInAsset asset = EngineBuiltInAssets.GetMaterial(EngineBuiltInAssets.DefaultTerrainSpecularName, container.ExportVersion);
                return(asset.ToExportPointer().ExportYAML(container));
            }
            return(MaterialTemplate.ExportYAML(container));
        }
Example #2
0
 private void ExportShaderPointer(IExportContainer container, YAMLSequenceNode node, HashSet <string> shaderNames, string name)
 {
     if (!shaderNames.Contains(name))
     {
         EngineBuiltInAsset buildInAsset = EngineBuiltInAssets.GetShader(name, container.ExportVersion);
         node.Add(buildInAsset.ToExportPointer().ExportYAML(container));
     }
 }
 private void ExportShaderPointer(IExportContainer container, YAMLSequenceNode node, HashSet <string> shaderNames, string name)
 {
     if (!shaderNames.Contains(name))
     {
         EngineBuiltInAsset buildInAsset = EngineBuiltInAssets.Shaders[name];
         ExportPointer      pointer      = new ExportPointer(buildInAsset.ExportID, buildInAsset.GUID, AssetType.Internal);
         node.Add(pointer.ExportYAML(container));
     }
 }
        public YAMLNode ExportYAML(IExportContainer container, string shaderName)
        {
            YAMLMappingNode node = new YAMLMappingNode();

            node.Add(ModeName, (int)BuiltinShaderMode.Builtin);
            EngineBuiltInAsset buildInAsset = EngineBuiltInAssets.GetShader(shaderName, container.ExportVersion);

            node.Add(ShaderName, buildInAsset.ToExportPointer().ExportYAML(container));
            return(node);
        }
Example #5
0
        public YAMLNode ExportYAML(IExportContainer container, string shaderName)
        {
            YAMLMappingNode node = new YAMLMappingNode();

            node.Add("m_Mode", (int)BuiltinShaderMode.Builtin);
            EngineBuiltInAsset buildInAsset = EngineBuiltInAssets.Shaders[shaderName];
            ExportPointer      pointer      = new ExportPointer(buildInAsset.ExportID, buildInAsset.GUID, AssetType.Internal);

            node.Add("m_Shader", pointer.ExportYAML(container));
            return(node);
        }
Example #6
0
        private YAMLNode ExportDetailMeshGrassShader(IExportContainer container)
        {
            if (IsReadDetailBillboardShader(container.Version))
            {
                return(DetailMeshGrassShader.ExportYAML(container));
            }

            EngineBuiltInAsset buildInAsset = EngineBuiltInAssets.GetShader(EngineBuiltInAssets.TerrainWavingDoublePass, container.ExportVersion);

            return(buildInAsset.ToExportPointer().ExportYAML(container));
        }
Example #7
0
        private YAMLNode ExportDetailMeshGrassShader(IExportContainer container)
        {
            if (IsReadDetailBillboardShader(container.Version))
            {
                return(DetailMeshGrassShader.ExportYAML(container));
            }

            EngineBuiltInAsset buildInAsset = EngineBuiltInAssets.Shaders[EngineBuiltInAssets.TerrainWavingDoublePass];
            ExportPointer      pointer      = new ExportPointer(buildInAsset.ExportID, buildInAsset.GUID, AssetType.Internal);

            return(pointer.ExportYAML(container));
        }
        private static bool GetEngineBuildInAsset(Object asset, Version version, out EngineBuiltInAsset engineAsset)
        {
            switch (asset.ClassID)
            {
            case ClassIDType.Material:
            {
                Material material = (Material)asset;
                if (EngineBuiltInAssets.TryGetMaterial(material.Name, version, out engineAsset))
                {
                    return(true);
                }
            }
            break;

            case ClassIDType.Texture2D:
            {
                Texture2D texture = (Texture2D)asset;
                if (EngineBuiltInAssets.TryGetTexture(texture.Name, version, out engineAsset))
                {
                    return(true);
                }
            }
            break;

            case ClassIDType.Mesh:
            {
                Mesh mesh = (Mesh)asset;
                if (EngineBuiltInAssets.TryGetMesh(mesh.Name, version, out engineAsset))
                {
                    return(true);
                }
            }
            break;

            case ClassIDType.Shader:
            {
                Shader shader = (Shader)asset;
                if (EngineBuiltInAssets.TryGetShader(shader.ValidName, version, out engineAsset))
                {
                    return(true);
                }
            }
            break;

            case ClassIDType.Font:
            {
                Font font = (Font)asset;
                if (EngineBuiltInAssets.TryGetFont(font.Name, version, out engineAsset))
                {
                    return(true);
                }
            }
            break;

            case ClassIDType.Sprite:
            {
                Sprite sprite = (Sprite)asset;
                if (EngineBuiltInAssets.TryGetSprite(sprite.Name, version, out engineAsset))
                {
                    return(true);
                }
            }
            break;

            case ClassIDType.LightmapParameters:
            {
                LightmapParameters lightParams = (LightmapParameters)asset;
                if (EngineBuiltInAssets.TryGetLightmapParams(lightParams.Name, version, out engineAsset))
                {
                    return(true);
                }
            }
            break;

            case ClassIDType.MonoBehaviour:
            {
                MonoBehaviour behaviour = (MonoBehaviour)asset;
                if (behaviour.Name != string.Empty)
                {
                    if (EngineBuiltInAssets.TryGetBehaviour(behaviour.Name, version, out engineAsset))
                    {
                        return(true);
                    }
                }
            }
            break;
            }
            engineAsset = default;
            return(false);
        }