using System.Collections.Generic; using UnityEngine; namespace Colosseum.Passives { /// /// 패시브 선택 상태를 빠르게 적용하기 위한 프리셋입니다. /// [CreateAssetMenu(fileName = "PassivePreset", menuName = "Colosseum/Passives/Passive Preset")] public class PassivePresetData : ScriptableObject { [Header("기본 정보")] [SerializeField] private string presetName; [TextArea(2, 4)] [SerializeField] private string description; [Header("트리")] [SerializeField] private PassiveTreeData tree; [Header("선택 노드")] [SerializeField] private List selectedNodes = new List(); public string PresetName => presetName; public string Description => description; public PassiveTreeData Tree => tree; public IReadOnlyList SelectedNodes => selectedNodes; public List BuildSelectedNodeIdList() { List nodeIds = new List(selectedNodes.Count); for (int i = 0; i < selectedNodes.Count; i++) { PassiveNodeData node = selectedNodes[i]; if (node == null || string.IsNullOrWhiteSpace(node.NodeId)) continue; nodeIds.Add(node.NodeId); } return nodeIds; } } }