示例#1
0
        public SaleGroup Get(int group_id)
        {
            if (group_id <= 0)
            {
                return(null);
            }
            SaleGroup sale_group = null;

            if (_sale_groupMap.TryGetValue(group_id, out sale_group))
            {
                _refMap[sale_group.GroupId] = GetCurrentTimeTick();
                ReleaseData(false);
                return(sale_group);
            }

            sale_group = DbClassLoader.Instance.QueryData <SaleGroup>(ConfigDataBase.Instance.DbAccessorFactory, group_id);
            if (sale_group == null)
            {
#if UNITY_EDITOR
                Debug.LogWarning("Invalid `group_id` value in table `sale_group` : " + group_id);
#endif
                return(null);
            }

            _sale_groupMap.Add(group_id, sale_group);
            if (_refMap.ContainsKey(sale_group.GroupId) == false)
            {
                _refMap.Add(sale_group.GroupId, GetCurrentTimeTick());
            }

            ReleaseData(false);
            return(sale_group);
        }
示例#2
0
        public void MemoryUpdate(int key, SaleGroup sale_group)
        {
            SaleGroups.RemoveAll(n => n.GroupId == key);
            if (_sale_groupMap.ContainsKey(key))
            {
                _sale_groupMap.Remove(key);
                if (_refMap.ContainsKey(key))
                {
                    _refMap.Remove(key);
                }
            }

            if (sale_group != null)
            {
                SaleGroups.Add(sale_group);
                _sale_groupMap.Add(key, sale_group);
                _refMap.Add(key, DateTime.Now.Ticks);
            }
        }