using System;
using System.Collections.Generic;
using System.Linq;
using Intrepid.Localization;
using Intrepid.TagSystem;
using Intrepid.Utilities;
using UnityEngine;

namespace Intrepid.Gameplay.Entities.Player.PDA
{
    [Serializable]
    [CreateAssetMenu(fileName = "pda.content-tag.", menuName = "Intrepid/PDA/PDA Content Tag")]
    public class PDAContentTag : Tag
    {
        [GroupConfigurations, SerializeField] private LocalizationTag localization;
        [GroupConfigurations, SerializeField] private LocalizationTag description;
        [GroupConfigurations, SerializeField] private PDASectionTag sectionTag;
        [GroupConfigurations, SerializeField] private List<string> parameters;

        public LocalizationTag Localization => localization;
        public LocalizationTag Description => description;
        public PDASectionTag SectionTag => sectionTag;
        public IReadOnlyList<string> Parameters => parameters.Distinct().ToList();
    }
}