Encounter / Assets / Scripts / ScriptableObjects / RelicSO.cs
RelicSO.cs
Raw
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

#if UNITY_EDITOR
using UnityEditor;
#endif

[CreateAssetMenu(fileName = "New Relic", menuName = "Config/Items/New Relic")]
public class RelicSO : ItemSO
{
    // TODO ---> Further implement
}

#if UNITY_EDITOR
[CustomEditor(typeof(RelicSO))]
public class RelicSOEditor : ItemSOEditor
{
    private RelicSO container;

    private void OnEnable()
    {
        container = target as RelicSO;
    }

    public override void OnInspectorGUI()
    {
        serializedObject.Update();

        EditorGUILayout.LabelField("General Properties", EditorStyles.boldLabel);
        container.ID = EditorGUILayout.IntField("ID", container.ID);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("Name"));
        EditorGUILayout.PropertyField(serializedObject.FindProperty("Description"));
        EditorGUILayout.PropertyField(serializedObject.FindProperty("HelperEffects"));
        EditorGUILayout.PropertyField(serializedObject.FindProperty("Item_Sprite"));

        EditorGUILayout.Space(10);
        EditorGUILayout.LabelField("Shop Properties", EditorStyles.boldLabel);
        container.Value = EditorGUILayout.IntField("Value", container.Value);
        container.Cost = EditorGUILayout.IntField("Cost", container.Cost);
        EditorGUILayout.Space(5);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("Item_Rarity"));
        EditorGUILayout.PropertyField(serializedObject.FindProperty("CantBeSold"));

        serializedObject.ApplyModifiedProperties();
    }
}
#endif