className | 此托管插件导入的 MonoScript 的完全限定类名。 |
icon | 与导入的 MonoScript 关联的自定义图标。当值为 null 时,Unity 会恢复默认图标。 |
设置与托管插件导入的 MonoScript 关联的自定义图标。
由托管插件导入的每个 MonoScript 都可以具有关联的自定义图标。此图标用于场景视图、检查器和项目窗口。要删除 MonoScript 的关联自定义图标,请将 null 传递给此方法。
其他资源:MonoScript.GetClass、Type.FullName、PluginImporter.GetIcon、MonoImporter.SetIcon、EditorGUIUtility.SetIconForObject。
using UnityEngine; using UnityEditor;
public class Example { [MenuItem("Examples/Set Custom Icon on Managed Plugin MonoScript")] static void SetCustomIconOnManagedPluginMonoScript() { var dllPath = "Assets/MyManagedPlugin.dll"; var iconPath = "Assets/MyIcon.png"; var pluginImporter = AssetImporter.GetAtPath(dllPath) as PluginImporter; var monoScript = AssetDatabase.LoadAssetAtPath<MonoScript>(dllPath); var icon = AssetDatabase.LoadAssetAtPath<Texture2D>(iconPath);
pluginImporter.SetIcon(monoScript.GetClass().FullName, icon); pluginImporter.SaveAndReimport(); } }