using SLSFramework.General;
using Sirenix.OdinInspector;
using UnityEngine;
using UnityEngine.Serialization;
namespace Continentis.MainGame.Character
{
///
/// 角色属性默认值模板。
/// 放置于 Assets/Mods/{ModName}/Characters/DefaultCollections/ 路径下才会被 PasteDefaultAttributes 识别并导入。
///
[CreateAssetMenu(menuName = "Continentis/MainGame/Character/AttributesDefaultCollection",
fileName = "CharacterAttributesDefaultCollection")]
public class CharacterAttributesDefaultCollection : ScriptableObject
{
[TitleGroup("属性模板")]
[DictionaryDrawerSettings(KeyLabel = "属性名", ValueLabel = "属性值")]
[LabelText("核心属性 (Core)")]
[Tooltip("对应 CharacterData.coreAttributes")]
public SerializableDictionary coreAttributes;
[DictionaryDrawerSettings(KeyLabel = "属性名", ValueLabel = "属性值")]
[LabelText("通常属性 (General)")]
[Tooltip("对应 CharacterData.generalAttributes")]
public SerializableDictionary generalAttributes;
[FormerlySerializedAs("endowingGeneralAttributes")]
[DictionaryDrawerSettings(KeyLabel = "属性名", ValueLabel = "初始值表达式")]
[LabelText("运行时通常属性 (Runtime General)")]
[Tooltip("初始化时赋予给 CurrentGeneralAttributes 的属性;Value 填写对应 GeneralAttributes 的 Key 名(或一个常数),留空则默认为 0。")]
public SerializableDictionary runtimeGeneralAttributes;
}
}