Files
Cielonos/Assets/Scripts/MainGame/Items/Data/ContentData.cs
SoulliesOfficial 33b1795c1f 更新
2026-01-03 18:19:39 -05:00

62 lines
1.5 KiB
C#

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";
}
}
}