版本:Unity 6 (6000.0)
语言English
  • C#

PluginImporter.SetIcon

建议修改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法采纳所有提交的内容,但我们确实会阅读用户提出的每一项修改建议,并在适用情况下进行更新。

关闭

提交失败

由于某些原因,您的修改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public void SetIcon(string className, Texture2D icon);

参数

className 此托管插件导入的 MonoScript 的完全限定类名。
icon 与导入的 MonoScript 关联的自定义图标。当值为 null 时,Unity 会恢复默认图标。

描述

设置与托管插件导入的 MonoScript 关联的自定义图标。

由托管插件导入的每个 MonoScript 都可以具有关联的自定义图标。此图标用于场景视图、检查器和项目窗口。要删除 MonoScript 的关联自定义图标,请将 null 传递给此方法。

其他资源:MonoScript.GetClass、Type.FullName、PluginImporter.GetIconMonoImporter.SetIconEditorGUIUtility.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(); } }