Ejemplo n.º 1
0
        public override void Read(AssetStream stream)
        {
            base.Read(stream);

            Shader.Read(stream);
            if (IsReadKeywords(stream.Version))
            {
                if (IsKeywordsArray(stream.Version))
                {
                    m_shaderKeywordsArray = stream.ReadStringArray();
                }
                else
                {
                    ShaderKeywords = stream.ReadStringAligned();
                }
            }

            if (IsReadLightmapFlags(stream.Version))
            {
                LightmapFlags = stream.ReadUInt32();
                if (IsReadOtherFlags(stream.Version))
                {
                    EnableInstancingVariants = stream.ReadBoolean();
                    DoubleSidedGI            = stream.ReadBoolean();
                    stream.AlignStream(AlignType.Align4);
                }
            }

            if (IsReadCustomRenderQueue(stream.Version))
            {
                CustomRenderQueue = stream.ReadInt32();
            }

            if (IsReadStringTagMap(stream.Version))
            {
                m_stringTagMap = new Dictionary <string, string>();
                m_stringTagMap.Read(stream);
                if (IsReadDisabledShaderPasses(stream.Version))
                {
                    m_disabledShaderPasses = stream.ReadStringArray();
                }
            }

            SavedProperties.Read(stream);
        }
Ejemplo n.º 2
0
        protected override YAMLMappingNode ExportYAMLRoot()
        {
            YAMLMappingNode node = base.ExportYAMLRoot();

            node.InsertBegin("serializedVersion", SerializedVersion);
            if (IsSerialized)
            {
                node.Add("m_Shader", SerializedShader.ExportYAML());
            }
            else
            {
                node.Add("m_Shader", Shader.ExportYAML());
            }
            if (IsKeywordsArray)
            {
                node.Add("m_ShaderKeywords", string.Join(" ", m_shaderKeywordsArray));
            }
            else
            {
                node.Add("m_ShaderKeywords", ShaderKeywords);
            }
            node.Add("m_LightmapFlags", LightmapFlags);
            node.Add("m_EnableInstancingVariants", EnableInstancingVariants);
            node.Add("m_DoubleSidedGI", DoubleSidedGI);
            node.Add("m_CustomRenderQueue", CustomRenderQueue);
            if (IsReadStringTagMap)
            {
                node.Add("stringTagMap", StringTagMap.ExportYAML());
            }
            else
            {
                node.Add("stringTagMap", YAMLMappingNode.Empty);
            }
            if (IsReadDisabledShaderPasses)
            {
#warning TODO: check on sample
                node.Add("disabledShaderPasses", DisabledShaderPasses.ExportYAML());
            }
            else
            {
                node.Add("disabledShaderPasses", YAMLSequenceNode.Empty);
            }
            node.Add("m_SavedProperties", SavedProperties.ExportYAML());
            return(node);
        }
Ejemplo n.º 3
0
        public override void Read(AssetReader reader)
        {
            base.Read(reader);

            Shader.Read(reader);
            if (HasKeywords(reader.Version))
            {
                if (IsKeywordsArray(reader.Version))
                {
                    ShaderKeywordsArray = reader.ReadStringArray();
                }
                else
                {
                    ShaderKeywords = reader.ReadString();
                }
            }

            if (HasLightmapFlags(reader.Version))
            {
                LightmapFlags = reader.ReadUInt32();
                if (HasOtherFlags(reader.Version))
                {
                    EnableInstancingVariants = reader.ReadBoolean();
                    DoubleSidedGI            = reader.ReadBoolean();
                    reader.AlignStream();
                }
            }

            if (HasCustomRenderQueue(reader.Version))
            {
                CustomRenderQueue = reader.ReadInt32();
            }

            if (HasStringTagMap(reader.Version))
            {
                StringTagMap = new Dictionary <string, string>();
                StringTagMap.Read(reader);
                if (HasDisabledShaderPasses(reader.Version))
                {
                    DisabledShaderPasses = reader.ReadStringArray();
                }
            }

            SavedProperties.Read(reader);
        }
Ejemplo n.º 4
0
        public override IEnumerable <Object> FetchDependencies(bool isLog = false)
        {
            foreach (Object @object in base.FetchDependencies(isLog))
            {
                yield return(@object);
            }

            if (IsSerialized)
            {
                SShader shader = SerializedShader.FindObject();
                if (shader == null)
                {
                    if (isLog)
                    {
                        Logger.Log(LogType.Warning, LogCategory.Export, $"{ToLogString()} m_Shader {SerializedShader.ToLogString()} wasn't found ");
                    }
                }
                else
                {
                    yield return(shader);
                }
            }
            else
            {
                Shader shader = Shader.FindObject();
                if (shader == null)
                {
                    if (isLog)
                    {
                        Logger.Log(LogType.Warning, LogCategory.Export, $"{ToLogString()} m_Shader {Shader.ToLogString()} wasn't found ");
                    }
                }
                else
                {
                    yield return(shader);
                }
            }

            foreach (Object @object in SavedProperties.FetchDependencies(isLog))
            {
                yield return(@object);
            }
        }
Ejemplo n.º 5
0
        public string DeleteProperty(int PropertyID, string UserID)
        {
            string Message = "";

            SavedProperties rec = db.SavedProperties.Where(p => p.ID == PropertyID && p.CreatedByUser.Id == UserID).FirstOrDefault();

            if (rec != null)
            {
                db.SavedProperties.Remove(rec);
                db.SaveChanges();
                Message = "Property has been deleted";
                return Message;
            }
            else
            {
                Message = "Saved Property does not exist";
                return Message;
            }
        }
Ejemplo n.º 6
0
        private void LoadSavedProperties()
        {
            if (DataFolder == null)
            {
                return;
            }

            var di = new DirectoryInfo(DataFolder);

            foreach (var fi in di.GetFiles().Where(f => f.Extension == ".xml"))
            {
                var pc = LoadPropertyConfig(fi.FullName);
                if (pc != null) // Occurs when property cannot be loaded
                {
                    SavedProperties.Add(pc);
                    DictSavedProperties.Add(pc.CanonicalName, pc);
                }
            }
        }
Ejemplo n.º 7
0
 public string FindPropertyNameByCRC28(uint crc)
 {
     return(SavedProperties.FindPropertyNameByCRC28(crc));
 }
Ejemplo n.º 8
0
 public void AddSavedProperty(PropertyConfig config)
 {
     SavedProperties.Add(config);
     DictSavedProperties[config.CanonicalName] = config;
 }