Unity中调用editor脚本中的方法

如何在其他代码中调用Editor脚本中的下图画圈的方法,即如何实现在其他代码中点击“Create New Level”方法?急

img

img

img

看上去是对LevelsManager的扩展,你可以把 CreateNewLevel 函数提取出来。放到一个静态类里面它看上去应该这样

public static class CreateLevelHelepr
{
    public static void CreateNewLevel(Level level) 
    {
        //原来的代码
    }
}

然后把类放到运行时程序集中,使用 CreateLevelHelepr.CreateNewLevel 创建关卡
如果函数中需要创建编辑器资源 例如说 .prefab或者.unity什么的。使用宏包裹起来

#if UNITY_EDITOR
        // 编辑器代码
        UnityEditor.AssetDatabase.SaveAssets();
#endif