public override bool HasModified() { bool result; if (base.HasModified()) { result = true; } else { ShaderImporter shaderImporter = base.target as ShaderImporter; if (shaderImporter == null) { result = false; } else { Shader shader = shaderImporter.GetShader(); if (shader == null) { result = false; } else { int propertyCount = ShaderUtil.GetPropertyCount(shader); for (int i = 0; i < propertyCount; i++) { string propertyName = ShaderUtil.GetPropertyName(shader, i); for (int j = 0; j < this.m_Properties.Count; j++) { if (this.m_Properties[j].propertyName == propertyName) { Texture y = (!this.m_Properties[j].modifiable) ? shaderImporter.GetNonModifiableTexture(propertyName) : shaderImporter.GetDefaultTexture(propertyName); if (this.m_Properties[j].texture != y) { result = true; return(result); } } } } result = false; } } } return(result); }
protected override void ResetValues() { base.ResetValues(); this.m_Properties.Clear(); ShaderImporter shaderImporter = base.target as ShaderImporter; if (!(shaderImporter == null)) { Shader shader = shaderImporter.GetShader(); if (!(shader == null)) { int propertyCount = ShaderUtil.GetPropertyCount(shader); for (int i = 0; i < propertyCount; i++) { if (ShaderUtil.GetPropertyType(shader, i) == ShaderUtil.ShaderPropertyType.TexEnv) { string propertyName = ShaderUtil.GetPropertyName(shader, i); string propertyDescription = ShaderUtil.GetPropertyDescription(shader, i); bool flag = !ShaderUtil.IsShaderPropertyNonModifiableTexureProperty(shader, i); Texture texture; if (!flag) { texture = shaderImporter.GetNonModifiableTexture(propertyName); } else { texture = shaderImporter.GetDefaultTexture(propertyName); } ShaderImporterInspector.TextureProp item = new ShaderImporterInspector.TextureProp { propertyName = propertyName, texture = texture, dimension = ShaderUtil.GetTexDim(shader, i), displayName = propertyDescription, modifiable = flag }; this.m_Properties.Add(item); } } } } }