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); }
protected virtual void OnShaderError(string obj) { ShaderError?.Invoke(obj); }