调整剧情的character data
This commit is contained in:
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user