ShaderUtilInterface
来源:互联网 发布:java反射调用泛型方法 编辑:程序博客网 时间:2024/06/07 18:01
using System.Collections;using System.Collections.Generic;using UnityEngine;using System.Reflection;using System.Linq;using System;public static class ShaderUtilInterface{ public static Dictionary<string, MethodInfo> methods = new Dictionary<string, MethodInfo>(); static ShaderUtilInterface() { var asm = AppDomain.CurrentDomain.GetAssemblies().FirstOrDefault(a => a.GetTypes().Any(t => t.Name == "ShaderUtil")); if (asm != null) { var tp = asm.GetTypes().FirstOrDefault(t => t.Name == "ShaderUtil"); foreach (var method in tp.GetMethods(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static)) { methods[method.Name] = method; } } } public static int GetPropertyCount(this Material shader) { return Call<int>("GetPropertyCount", shader.shader); } public static string GetPropertyName(this Material shader, int index) { return Call<string>("GetPropertyName", shader.shader, index); } public static int GetPropertyType(this Material shader, int index) { return Call<int>("GetPropertyType", shader.shader, index); } public static T Call<T>(string name, params object[] parameters) { return (T)methods[name].Invoke(null, parameters); }}
阅读全文
0 0
- ShaderUtilInterface
- powerbi新技术之可视化图表应用的新功能分享
- 网易2017——小易喜欢的数列
- Android学习笔记——Material Design
- 移植树莓派中的fbtft显示驱动到Linux开发板下(一)
- Ftp命令总结
- ShaderUtilInterface
- Android:系统或JDK为32位时安装Android Studio
- 想要成为软件开发中的王者,需要明白的 21 条准则
- Unity3D使用经验总结 编辑器扩展篇
- Java NIO技术学习之一
- JVM虚拟机的结构
- loadrunner12测试接口
- 编程之美-判断两个链表是否相交 (涵其扩展问题)
- 2017年8月11日草原天路沽源太仆寺旗3日游