class in UnityEditor.Experimental.U2D
切换到手册使用继承自 SpriteEditorModuleBase 的类上的此属性,指示所需的数据提供程序。
当您使用此属性时,如果 ISpriteEditorDataProvider.HasDataProvider 针对模块所需的所有数据提供程序返回 true,那么您在 Sprite Editor 窗口中将只能选择模块。
using UnityEditor.Experimental.U2D; using UnityEngine;
[RequireSpriteDataProvider(typeof(ISpriteOutlineDataProvider), typeof(ITextureDataProvider))] public class MySpriteEditorCustomModule : SpriteEditorModuleBase { public override string moduleName { get { return "MySpriteEditorCustomModule"; } }
public override bool ApplyRevert(bool apply) { return true; }
public override bool CanBeActivated() { return true; }
public override void DoMainGUI() {}
public override void DoToolbarGUI(Rect drawArea) {}
public override void OnModuleActivate() { var outlineProvider = spriteEditor.GetDataProvider<ISpriteOutlineDataProvider>(); var spriteRects = spriteEditor.GetDataProvider<ISpriteEditorDataProvider>().GetSpriteRects(); foreach (var spriteRect in spriteRects) { // Access outline data Debug.Log(outlineProvider.GetOutlines(spriteRect.spriteID)); } }
public override void OnModuleDeactivate() {}
public override void DoPostGUI() {} }
RequireSpriteDataProviderAttribute | 使用属性指示 SpriteEditorBaseModule 需要的自定义数据提供程序。 |