using Sirenix.OdinInspector; using UnityEngine; namespace Cielonos.MainGame.Inventory { public enum ItemType { MainWeapon, Support, Passive, Consumable } public enum ItemRarity { Tera, Moser, Graham, Epsilon, Aleph } [CreateAssetMenu(fileName = "ContentData", menuName = "Cielonos/Items/ContentData")] public partial class ContentData : SerializedScriptableObject { [InlineButton("CreateID", "Create")] public string className; [ReadOnly] public string displayNameKey; [ReadOnly] public string descriptionKey; public ItemType itemType; public ItemRarity itemRarity; [ShowIf("isMainWeapon")] public Sprite rectIcon; [HideIf("isMainWeapon")] public Sprite squareIcon; } public partial class ContentData { private bool isMainWeapon => itemType == ItemType.MainWeapon; private void CreateID() { if(string.IsNullOrEmpty(this.className)) { Debug.LogWarning("Class Name is empty. Cannot create Item ID."); return; } string itemType = this.itemType.ToString(); string className = this.className; displayNameKey = $"{itemType}_{className}_Name"; descriptionKey = $"{itemType}_{className}_Desc"; } } }