听说这个插件很不错,但是自己还没用过,于是网上找了一个2.0版本的打算导入到unity里去看看。
由于是用的unity2019,导入进去发现有报错,看了原因是由于一个私有字段在2019中已经没有了。
以下是修复至可用的方法:
0、把Unity PlayerSetting里的ApiCompatibilityLevel改为.NET 4.x
1、删除Assemblies目录。因为里面是编译好的dll,我们直接用源码修改,因此删除掉。
2、解压Source目录的Source.zip,得到Source文件夹和MoveFilesToRoot文件夹。
3、把MoveFilesToRoot里的文件都移动到Assets目录下。
4、找到GUIHelper.cs文件,修改其89行:
代码如下:
#if UNITY_2019
// 2019.4变成了只读属性,处理一下
ContextWidthSetter = (val) => {
var fStack = typeof(EditorGUIUtility).GetField("s_ContextWidthStack", BindingFlags.Static | BindingFlags.NonPublic);
var stack = (Stack<float>)fStack.GetValue(null);
stack.Clear();
stack.Push(val);
};
#else
ContextWidthSetter = EmitUtilities.CreateStaticFieldSetter<float>(typeof(EditorGUIUtility).GetField("s_ContextWidth", Flags.AllMembers));
#endif
然后就可以使用了。