public GmVersion Get(string table_name) { GmVersion gm_version = null; if (_gm_versionMap.TryGetValue(table_name, out gm_version)) { _refMap[gm_version.TableName] = GetCurrentTimeTick(); ReleaseData(false); return(gm_version); } gm_version = DbClassLoader.Instance.QueryData <GmVersion>(ConfigDataBase.Instance.DbAccessorFactory, table_name); if (gm_version == null) { #if UNITY_EDITOR LoggerManager.Instance.Warn("Invalid `table_name` value in table `gm_version` : " + table_name); #endif return(null); } _gm_versionMap.Add(table_name, gm_version); if (_refMap.ContainsKey(gm_version.TableName) == false) { _refMap.Add(gm_version.TableName, GetCurrentTimeTick()); } ReleaseData(false); return(gm_version); }
public void MemoryUpdate(string key, GmVersion gm_version) { GmVersions.RemoveAll(n => n.TableName == key); if (_gm_versionMap.ContainsKey(key)) { _gm_versionMap.Remove(key); if (_refMap.ContainsKey(key)) { _refMap.Remove(key); } } if (gm_version != null) { GmVersions.Add(gm_version); _gm_versionMap.Add(key, gm_version); _refMap.Add(key, DateTime.Now.Ticks); } }