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;
}
}
}