diff options
Diffstat (limited to 'WorldlineKeepers/Assets/Scripts/Tools/UniqueStringMap.cs')
-rw-r--r-- | WorldlineKeepers/Assets/Scripts/Tools/UniqueStringMap.cs | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/WorldlineKeepers/Assets/Scripts/Tools/UniqueStringMap.cs b/WorldlineKeepers/Assets/Scripts/Tools/UniqueStringMap.cs new file mode 100644 index 0000000..7e54840 --- /dev/null +++ b/WorldlineKeepers/Assets/Scripts/Tools/UniqueStringMap.cs @@ -0,0 +1,51 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace WK.Tools +{ + + public class UniqueStringMap + { + private int m_Index = 1; + + private Dictionary<string, int/*ID*/> m_StringMap = new Dictionary<string, int>(); + + public int RegisterString(string str) + { + if(m_StringMap.ContainsKey(str)) + return m_StringMap[str]; + + int index = m_Index++; + m_StringMap.Add(str, index); + + return index; + } + + public int GetStringCode(string str) + { + if (!m_StringMap.ContainsKey(str)) + return 0; + return m_StringMap[str]; + } + + //public int GetOrAddStringCode(string str) + //{ + // if (!m_StringMap.ContainsKey(str)) + // { + // RegisterString(str); + // } + // return m_StringMap[str]; + //} + + public int this[string str] + { + get + { + return GetStringCode(str); + } + } + + } + +} |