Esempio n. 1
0
        /// <summary>
        /// Run a callback when the specified task has completed.
        /// </summary>
        /// <param name="task">The task object that needs to complete</param>
        /// <param name="action">The action to perform when it is complete</param>
        public void OnTask(Task task, ShaderCompileTaskCallback action)
        {
            _compiling = false;

            _programsTask = task;
            _action       = action;

            task.ContinueWith(task => _taskDoneEvent.Set());
        }
Esempio n. 2
0
        /// <summary>
        /// Run a callback when the specified program has been linked.
        /// </summary>
        /// <param name="task">The program that needs to be linked</param>
        /// <param name="action">The action to perform when linking is complete</param>
        public void OnCompiled(IProgram program, ShaderCompileTaskCallback action)
        {
            _compiling = true;

            _program = program;
            _action  = action;

            if (program == null)
            {
                action(false, this);
            }
        }