46 lines
1.1 KiB
C#
46 lines
1.1 KiB
C#
|
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";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|