Files
RPGBook/Assets/Okitoki Games/EasyTalk/Editor/Scripts/display/CharacterSpritePanelEditor.cs

49 lines
1.6 KiB
C#
Raw Normal View History

2025-07-21 17:10:16 +01:00
using EasyTalk.Display;
using EasyTalk.Editor.Utils;
using UnityEditor;
using UnityEngine;
namespace EasyTalk.Editor.Display
{
[CustomEditor(typeof(CharacterSpritePanel))]
public class CharacterSpritePanelEditor : DialoguePanelEditor
{
public override void OnInspectorGUI()
{
CharacterSpritePanel display = target as CharacterSpritePanel;
//if (displayObj == null || (displayObj != null && displayObj.targetObject != display))
{
displayObj = new SerializedObject(display);
}
EditorGUI.BeginChangeCheck();
CreateDisplaySettings();
CreateAnimationSettings(display);
CreateDialoguePanelEventSettings();
ETGUI.DrawLineSeparator();
if (EditorGUI.EndChangeCheck())
{
EditorUtility.SetDirty(display);
}
displayObj.ApplyModifiedProperties();
}
protected override void CreateDisplaySettings()
{
base.CreateDisplaySettings();
EditorGUILayout.PropertyField(displayObj.FindProperty("spriteMode"), new GUIContent("Sprite Mode",
"The image mode to use." +
"\nPORTRAYAL mode: the chosen sprite(s) will be retrieved from a character's configured portrayals." +
"\nICON mode, the sprite(s) come from the character's configured icons."));
EditorGUILayout.PropertyField(displayObj.FindProperty("showWhenInvalid"), new GUIContent("Show When Invalid?", "Whether or not the panel's image should be updated when a null or empty image ID is used."));
}
}
}