Unity+C# 遍历脚本的资源
遍历脚本中自定义的类变量
这边的遍历需要用到反射机制,具体的可以自己去了解.
网上找到的,大部分都没有说明白,代码的内容, 导致有的遍历出来的远比我想要遍历的内容多得多.我想要的是遍历自己脚本中定义的public 的类变量.
想要类的属性或者成员的话,可以用代码中被注释掉的部分实现.
代码
// component指脚本对象,MyParameter指脚本中类的名称,当然Unity的编辑器要求我们把两个的名字统一,但是在使用的时候还是要理解
// GameObject.Find("MyParameter") 中的 MyParameter 指的是脚本的名称
var MyParameter = component.GetComponent<MyParameter>();
Type type = typeof(MyParameter);
// System.Reflection.PropertyInfo[] properties = type.GetProperties(); //获得所有属性
// System.Reflection.MemberInfo[] members = type.GetMembers(); //获得所有成员变量
System.Reflection.FieldInfo[] fieldInfos = type.GetFields(); //获得场景的元素,这个是我们真正需要的,只返回在场景生成后我们自定义的变量
foreach (var fieldInfo in fieldInfos)
{
print(fieldInfo.Name);
print(fieldInfo.GetValue(MyParameter)); // 需要传入对象的名称 这边的MyParameter其实指的是
}