From 27df4282109a26a21aa042793c3136fbb5b81a98 Mon Sep 17 00:00:00 2001 From: chai <215380520@qq.com> Date: Tue, 16 May 2023 08:50:55 +0800 Subject: *misc --- .../Assets/Scripts/Tools/UniqueStringMap.cs | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 WorldlineKeepers/Assets/Scripts/Tools/UniqueStringMap.cs (limited to 'WorldlineKeepers/Assets/Scripts/Tools/UniqueStringMap.cs') 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 m_StringMap = new Dictionary(); + + 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); + } + } + + } + +} -- cgit v1.1-26-g67d0