Example #1
0
        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;
            }
        }
Example #2
0
        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);
            }
        }