调整剧情的character data

This commit is contained in:
SoulliesOfficial
2025-11-12 05:20:22 -05:00
parent 92668e1b20
commit 24656aba1a
10 changed files with 21 additions and 14 deletions

View File

@@ -34,10 +34,10 @@ namespace SLSFramework.StorySystem.Dialog
// -- 角色名 --
_characterField = new ObjectField("Character")
{
objectType = typeof(CharacterData),
objectType = typeof(StoryCharacterData),
allowSceneObjects = false
};
_characterField.SetValueWithoutNotify(_data.characterData);
_characterField.SetValueWithoutNotify(_data.storyCharacterData);
_characterField.RegisterValueChangedCallback(OnCharacterDataChanged);
extensionContainer.Add(_characterField);
@@ -88,7 +88,7 @@ namespace SLSFramework.StorySystem.Dialog
// --- 6. 核心逻辑:当 ObjectField 变化时调用 ---
private void OnCharacterDataChanged(ChangeEvent<Object> evt)
{
_data.characterData = evt.newValue as CharacterData;
_data.storyCharacterData = evt.newValue as StoryCharacterData;
// 清空旧的表情
_data.expressionKey = null;
@@ -110,7 +110,7 @@ namespace SLSFramework.StorySystem.Dialog
// 清空旧选项
_expressionField.choices.Clear();
if (_data.characterData == null)
if (_data.storyCharacterData == null)
{
// 如果没有角色,禁用下拉框
_expressionField.SetValueWithoutNotify(null);
@@ -119,7 +119,7 @@ namespace SLSFramework.StorySystem.Dialog
}
// 从 CharacterData 中提取所有表情的 "name"
List<string> expressionKeys = _data.characterData.expressions
List<string> expressionKeys = _data.storyCharacterData.expressions
.Select(expr => expr.key)
.ToList();