remove static method
Implementation
static bool remove(IResource resource) {
if (resource.instance == null) return false;
if (_resources.containsKey(resource.instance?.id))
_resources.remove(resource.instance?.id);
else
return false;
if (resource is IStore) {
_stores.remove(resource);
// remove all objects associated with the store
var toBeRemoved =
_resources.values.where((x) => x.instance?.store == resource);
for (var o in toBeRemoved) remove(o);
// StoreDisconnected?.Invoke(resource as IStore);
}
if (resource.instance?.store != null)
resource.instance?.store?.remove(resource);
resource.destroy();
return true;
}