#if UNITY_EDITOR
using UnityEditor;
using UnityEngine;

namespace Gyvr.Mythril2D
{
    [CustomEditor(typeof(PetSummonAbilitySheet))]
    public class PetSummonAbilitySheetEditor : Editor
    {
        public override void OnInspectorGUI()
        {
            serializedObject.Update();

            SerializedProperty toSummonProp = serializedObject.FindProperty("m_toSummon");
            EditorGUILayout.PropertyField(toSummonProp);

            if (toSummonProp.objectReferenceValue != null)
            {
                GameObject obj = toSummonProp.objectReferenceValue as GameObject;
                if (obj != null && obj.GetComponent<Pet>() == null)
                {
                    EditorGUILayout.HelpBox("Assigned prefab must contain a Pet component.", MessageType.Error);
                }
            }

            DrawPropertiesExcluding(serializedObject, "m_toSummon");

            serializedObject.ApplyModifiedProperties();
        }
    }
}
#endif
