Files
Fishing2/Assets/Scripts/Common/Services/Settings/Base/OptionTable.cs
2025-05-30 17:49:12 +08:00

34 lines
896 B
C#

using System.Collections.Generic;
using System.Linq;
namespace NBF.Setting
{
public class OptionTable<T>
{
public struct OptionEntry
{
public string Name;
public T Value;
public OptionEntry(string name, T value)
{
this.Name = name;
this.Value = value;
}
}
List<OptionEntry> entries = new List<OptionEntry>();
public void Add(string name, T value)
{
entries.Add(new OptionEntry(name, value));
}
public List<string> GetNames() => entries.Select(x => x.Name).ToList();
public List<T> GetValues() => entries.Select(x => x.Value).ToList();
public T GetValue(int index) => entries[index].Value;
public string GetName(int index) => entries != null ? entries[index].Name : string.Empty;
}
}