private void RegisterEntity(string name, System.Type type, OnCacheUpdatedDelegate onupdated) { if (m_cacheEntities.ContainsKey(name)) { DataCacheEntity entity = m_cacheEntities[name]; if (entity.Type != type) { EB.Debug.LogError("DataCacheManager.RegisterCacheEntity: exists {0} named {1} not match {2}", m_cacheEntities[name].ToString(), name, type.ToString()); return; } EB.Debug.LogWarning("DataCacheManager.RegisterCacheEntity: {0} named {1} already exists", type.ToString(), name); if (onupdated != null) { entity.OnCacheUpdated += onupdated; } } else { DataCacheEntity entity = new DataCacheEntity(); entity.Name = name; entity.Type = type; entity.Name = string.Empty; if (onupdated != null) { entity.OnCacheUpdated += onupdated; } m_cacheEntities[name] = entity; } }
public void RegisterEntity <T>(string name, OnCacheUpdatedDelegate onupdated) where T : IVersionedDataCache { RegisterEntity(name, typeof(T), onupdated); }