简单记录一下
参考文章 https://blog.csdn.net/duzixi/article/details/78013295
本来是想继承image,像button里Transition的Sprite Swap类型一样,有个置灰图
public class SwapImage : Image
{
public Sprite graySprite;
public bool isGray;
}
但是之后发现编辑器上并不显示我的public的属性,搜了一下才知道还需要对应的ImageEditor。
[CustomEditor(typeof(SwapImage))]
public class SwapImageEditor : ImageEditor
{
SerializedProperty graySprite;
SerializedProperty isGray;
protected override void OnEnable()
{
base.OnEnable();
graySprite = serializedObject.FindProperty(nameof(SwapImage.graySprite));
isGray = serializedObject.FindProperty(nameof(SwapImage.isGray));
}
public override void OnInspectorGUI()
{
base.OnInspectorGUI();
// DrawDefaultInspector();
serializedObject.Update();
EditorGUILayout.PropertyField(graySprite);
EditorGUILayout.PropertyField(isGray);
serializedObject.ApplyModifiedProperties();
}
}
最后请教一下,我想在更改isGray的时候刷新ui,除了在OnEnable Start OnValidate里设置图片,还有更简单的方法吗?