示例#1
0
        public MenuNavigation Get(int id)
        {
            if (id <= 0)
            {
                return(null);
            }
            MenuNavigation menu_navigation = null;

            if (_menu_navigationMap.TryGetValue(id, out menu_navigation))
            {
                _refMap[menu_navigation.Id] = GetCurrentTimeTick();
                ReleaseData(false);
                return(menu_navigation);
            }

            menu_navigation = DbClassLoader.Instance.QueryData <MenuNavigation>(ConfigDataBase.Instance.DbAccessorFactory, id);
            if (menu_navigation == null)
            {
#if UNITY_EDITOR
                LoggerManager.Instance.Warn("Invalid `id` value in table `menu_navigation` : {0}", id);
#endif
                return(null);
            }

            _menu_navigationMap.Add(id, menu_navigation);
            if (_refMap.ContainsKey(menu_navigation.Id) == false)
            {
                _refMap.Add(menu_navigation.Id, GetCurrentTimeTick());
            }

            ReleaseData(false);
            return(menu_navigation);
        }
示例#2
0
        public void MemoryUpdate(int key, MenuNavigation menu_navigation)
        {
            MenuNavigations.RemoveAll(n => n.Id == key);
            if (_menu_navigationMap.ContainsKey(key))
            {
                _menu_navigationMap.Remove(key);
                if (_refMap.ContainsKey(key))
                {
                    _refMap.Remove(key);
                }
            }

            if (menu_navigation != null)
            {
                MenuNavigations.Add(menu_navigation);
                _menu_navigationMap.Add(key, menu_navigation);
                _refMap.Add(key, DateTime.Now.Ticks);
            }
        }