31 lines
1.3 KiB
C#
31 lines
1.3 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using Sirenix.OdinInspector;
|
||
using UnityEngine;
|
||
|
||
namespace Ichni.Story
|
||
{
|
||
/// <summary>
|
||
/// StoryData 编辑期的互斥路线声明。
|
||
/// <para>本类不会参与运行时条件求值:路线的开放与禁用仍只由 StoryBlockDefinition 中的
|
||
/// Unlock Condition / Forbidden Condition 控制。它的唯一职责是让 Validate Story Data 能够
|
||
/// 对“多个结局只能完成一个”的人工配置意图进行可定位检查。</para>
|
||
/// </summary>
|
||
[Serializable]
|
||
[InlineProperty]
|
||
[HideReferenceObjectPicker]
|
||
public class StoryRouteValidationGroup
|
||
{
|
||
[HorizontalGroup("Identity", 0.34f)]
|
||
[LabelText("Group ID")]
|
||
[LabelWidth(58)]
|
||
[Tooltip("仅用于编辑器验证与日志定位的稳定 ID。使用小写英文、数字和下划线,例如 chapter0_ending。")]
|
||
public string groupId;
|
||
|
||
[HorizontalGroup("Identity")]
|
||
[LabelText("Terminal Blocks")]
|
||
[Tooltip("同一互斥结局组中的终点 Block ID。Validate Story Data 会检查它们是否存在、是否重复、是否为图终点,以及是否配置 Forbidden Condition。")]
|
||
public List<string> terminalBlockIds = new List<string>();
|
||
}
|
||
}
|