/// <summary> /// Attempts to create a new DataRenderer instance for the given type. /// </summary> public static bool TryGetRenderer(DataAccessor dataType, out DataRenderer renderer) { int id = dataType.Id; if (_renderers.ContainsKey(id)) { Type rendererType = _renderers[id]; renderer = (DataRenderer)Activator.CreateInstance(rendererType); return(true); } renderer = null; return(false); }
private void OnDataRemoved(RemovedDataEvent removedData) { SparseArray <DataRenderer> renderers; if (_renderers.TryGetValue(removedData.Entity.UniqueId, out renderers)) { var accessor = new DataAccessor(removedData.RemovedDataType); if (renderers.ContainsKey(accessor.Id)) { DataRenderer renderer = renderers[accessor.Id]; renderers.Remove(accessor.Id); renderer.Dispose(); } } }