internal static void Internal_OnEvent(EventType type) { switch (type) { case EventType.CompileBegin: CompilationBegin?.Invoke(); break; case EventType.CompileStarted: CompilationStarted?.Invoke(); break; case EventType.CompileEndGood: CompilationEnd?.Invoke(true); CompilationSuccess?.Invoke(); break; case EventType.CompileEndFailed: CompilationEnd?.Invoke(false); CompilationFailed?.Invoke(); break; case EventType.ReloadCalled: ScriptsReloadCalled?.Invoke(); break; case EventType.ReloadBegin: ScriptsReloadBegin?.Invoke(); break; case EventType.ReloadEnd: ScriptsReloadEnd?.Invoke(); break; } }
public ShaderProgram BuildShaderProgram(string[] shaderNames) { ReloadShaders(); ShaderProgram output = new ShaderProgram(shaderNames); if (output.HasCompilationError) { infoLog.Clear(); infoLog.Append(output.InfoLog); CompilationError?.Invoke(this, EventArgs.Empty); return(null); } else { CompilationSuccess?.Invoke(this, EventArgs.Empty); return(output); } }