using System; using System.Collections.Generic; using System.Linq; using AibisDream; using UnityEditor; using UnityEditor.Experimental.GraphView; using UnityEngine; using UnityEngine.UIElements; namespace AibisDream.SystemEditor { public class ChapterNode : Node { public TalkSceneSO SceneSo { get; } public Port InputPort { get; private set; } private const float PortLabelMaxWidth = 120f; public ChapterNode(TalkSceneSO so) { SceneSo = so ?? throw new ArgumentNullException(nameof(so)); // 节点整体放大 style.minWidth = 240; style.paddingTop = 8; style.paddingBottom = 8; style.paddingLeft = 10; style.paddingRight = 10; UpdateTitle(); UpdateColor(); BuildInputPort(); BuildOutputPorts(); BuildSubtitle(); BuildAddExitButton(); SetPosition(new Rect(so.graphPosition, Vector2.zero)); // 放大标题 var titleLabel = this.Q