using System; using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.UIElements; namespace BITKit { public sealed class DictionaryReferenceConfigAttribute : System.Attribute { public readonly int index; public DictionaryReferenceConfigAttribute(int index) { this.index = index; } public DictionaryReferenceConfigAttribute(string keyword) { index=keyword.GetHashCode(); } public DictionaryReferenceConfigAttribute() { index=0; } } [Serializable] public struct DictionaryReference : IReference { [SerializeField] private int index; #if UNITY_EDITOR [SerializeField,HideInInspector] private string keyword; #endif public string Get() { if (DictionaryReferenceScriptableObject.Dictionary.TryGetValue(index, out var value)) { return value; } return "Not Found"; } } }