Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
            }
        }