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); }
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); } }