29 lines
1.5 KiB
C#
29 lines
1.5 KiB
C#
using System.Collections.Generic;
|
|
using Sirenix.OdinInspector;
|
|
using UnityEngine;
|
|
|
|
namespace SLSUtilities.Narrative
|
|
{
|
|
[CreateAssetMenu(fileName = "New Character Data", menuName = "SLSUtilities/Story System/Character Data")]
|
|
public class CharacterData : SerializedScriptableObject
|
|
{
|
|
[TitleGroup("角色档案", "Yarn Spinner 角色视觉与差分配置", Alignment = TitleAlignments.Centered)]
|
|
|
|
[BoxGroup("角色档案/基础信息 (Basic Info)")]
|
|
[LabelText("角色名称 (Yarn 识别码)")]
|
|
[Tooltip("必须与 Yarn 脚本中使用的角色名称完全一致(例如:'Player' 或 'Merchant')。大小写敏感。")]
|
|
public string nameKey;
|
|
|
|
[BoxGroup("角色档案/立绘差分 (Portraits)", centerLabel: true)]
|
|
[LabelText("默认立绘 (Default Portrait)")]
|
|
[PreviewField(70, ObjectFieldAlignment.Left)]
|
|
[Tooltip("当 Yarn 台词没有指定 #mood 标签时,显示的默认角色立绘。")]
|
|
public Sprite defaultPortrait;
|
|
|
|
[BoxGroup("角色档案/立绘差分 (Portraits)")]
|
|
[LabelText("表情差分库 (Mood Expressions)")]
|
|
[DictionaryDrawerSettings(KeyLabel = "表情标签 (如 Happy, Sad)", ValueLabel = "对应的立绘 (Sprite)", DisplayMode = DictionaryDisplayOptions.ExpandedFoldout)]
|
|
[Tooltip("在此配置各种表情对应的立绘。在 Yarn 中使用 #mood:标签名 来触发。")]
|
|
public Dictionary<string, Sprite> expressions = new Dictionary<string, Sprite>();
|
|
}
|
|
} |