protected override void OnCopyDataTo(object target, ICloneOperation operation) { base.OnCopyDataTo(target, operation); AbstractShader targetShader = target as AbstractShader; if (this.compiled) { targetShader.Compile(); } }
protected override void OnCopyTo(Resource r, Duality.Cloning.CloneProvider provider) { base.OnCopyTo(r, provider); AbstractShader c = r as AbstractShader; c.source = this.source; c.sourcePath = null; if (this.compiled) { c.Compile(); } }
private void CompileIfRequired(AbstractShader part) { if (part == null) { return; // Shader not available? No need to compile. } if (part.Compiled) { return; // Shader already compiled? No need to compile. } part.Compile(); }
private void ActionAbstractShaderOpenRes(AbstractShader shader) { if (shader == null) return; FileImportProvider.OpenSourceFile(shader, shader is FragmentShader ? ".frag" : ".vert", shader.SaveSource); }
private void CompileIfRequired(AbstractShader part) { if (part == null) return; // Shader not available? No need to compile. if (part.Compiled) return; // Shader already compiled? No need to compile. part.Compile(); }