public Dattribute Get(int dattribute_id) { if (dattribute_id <= 0) { return(null); } Dattribute dattribute = null; if (_dattributeMap.TryGetValue(dattribute_id, out dattribute)) { _refMap[dattribute.DattributeId] = GetCurrentTimeTick(); ReleaseData(false); return(dattribute); } dattribute = DbClassLoader.Instance.QueryData <Dattribute>(ConfigDataBase.Instance.DbAccessorFactory, dattribute_id); if (dattribute == null) { #if UNITY_EDITOR Debug.LogWarning("Invalid `dattribute_id` value in table `dattribute` : " + dattribute_id); #endif return(null); } _dattributeMap.Add(dattribute_id, dattribute); if (_refMap.ContainsKey(dattribute.DattributeId) == false) { _refMap.Add(dattribute.DattributeId, GetCurrentTimeTick()); } ReleaseData(false); return(dattribute); }
public void MemoryUpdate(int key, Dattribute dattribute) { Dattributes.RemoveAll(n => n.DattributeId == key); if (_dattributeMap.ContainsKey(key)) { _dattributeMap.Remove(key); if (_refMap.ContainsKey(key)) { _refMap.Remove(key); } } if (dattribute != null) { Dattributes.Add(dattribute); _dattributeMap.Add(key, dattribute); _refMap.Add(key, DateTime.Now.Ticks); } }