Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在编辑器重命名模式下创建新的Unity资源_C#_Unity3d - Fatal编程技术网

C# 在编辑器重命名模式下创建新的Unity资源

C# 在编辑器重命名模式下创建新的Unity资源,c#,unity3d,C#,Unity3d,我正在为ScriptableObject添加自定义创建操作,如下所示: [MenuItem("Assets/Create/FlowEngine/Character")] private static void CreateCharacter() { string path = AssetDatabase.GetAssetPath(Selection.activeObject); string assetPath = path + "/New Character.asset";

我正在为ScriptableObject添加自定义创建操作,如下所示:

[MenuItem("Assets/Create/FlowEngine/Character")]
private static void CreateCharacter()
{
    string path = AssetDatabase.GetAssetPath(Selection.activeObject);
    string assetPath = path + "/New Character.asset";

    FlowEngineCharacterData character = ScriptableObject.CreateInstance<FlowEngineCharacterData>();

    AssetDatabase.CreateAsset(character, assetPath);
    AssetDatabase.SaveAssets();

    Selection.activeObject = character;
}
[MenuItem(“资产/创建/流引擎/角色”)]
私有静态void CreateCharacter()
{
字符串路径=AssetDatabase.GetAssetPath(Selection.activeObject);
字符串assetPath=path+“/New Character.asset”;
FlowEngineCharacterData字符=ScriptableObject.CreateInstance();
创建资产(字符,资产路径);
AssetDatabase.SaveAssets();
Selection.activeObject=字符;
}
这与预期完全一样,但这与所有内置资产之间有一个区别。当您创建这些文件时,它会在重命名“模式”下自动启动

我发现重命名资产的唯一方法是直接重命名资产,而不是启动UI重命名操作


有什么方法可以复制这种行为吗?

我在另一个名称空间中找到了答案:

[MenuItem("Assets/Create/FlowEngine/Character")]
private static void CreateCharacter()
{
    string path = AssetDatabase.GetAssetPath(Selection.activeObject);
    string assetPath = path + "/New Character.asset";

    FlowEngineCharacterData character = ScriptableObject.CreateInstance<FlowEngineCharacterData>();

    ProjectWindowUtil.CreateAsset(character, assetPath);
}
[MenuItem(“资产/创建/流引擎/角色”)]
私有静态void CreateCharacter()
{
字符串路径=AssetDatabase.GetAssetPath(Selection.activeObject);
字符串assetPath=path+“/New Character.asset”;
FlowEngineCharacterData字符=ScriptableObject.CreateInstance();
ProjectWindowUtil.CreateAsset(字符,assetPath);
}
请注意,这是
ProjectWindowUtil
,而不是
AssetDatabase
。使用该选项可在“重命名模式”下关闭创建操作