Ejemplo n.º 1
0
        public static ShaderError[] GetShaderErrors(Shader shader)
        {
            var invoke  = s_GetErrorsCall.Invoke(null, new object[] { shader });
            var objects = (Array)invoke;
            var errors  = new ShaderError[objects.Length];

            for (var i = 0; i < objects.Length; i++)
            {
                var obj = objects.GetValue(i);
                errors[i] = new ShaderError
                {
                    message        = (string)s_ShaderErrorMessageField.GetValue(obj),
                    messageDetails = (string)s_ShaderErrorMessageDetailsField.GetValue(obj),
                    platform       = (string)s_ShaderErrorPlatformField.GetValue(obj),
                    file           = (string)s_ShaderErrorFileField.GetValue(obj),
                    line           = (int)s_ShaderErrorLineField.GetValue(obj),
                    warning        = (int)s_ShaderErrorWarningField.GetValue(obj),
                };
            }
            return(errors);
        }
Ejemplo n.º 2
0
 protected virtual void OnShaderError(string obj)
 {
     ShaderError?.Invoke(obj);
 }