/// <summary> /// Load constructor. /// </summary> /// <param name="info">The load info.</param> private ResourceGroup(LoadInfo info) { name = info.GetString(NAME); for (int i = 0; info.hasValue(RESOURCE_BASE + i); ++i) { Resource resource = info.GetValue <Resource>(RESOURCE_BASE + i); if (!resources.containsResource(resource.LocName)) { resource.setResourceGroup(this); resources.addResource(resource); } } }
/// <summary> /// Add a resource directly to this group. /// </summary> /// <param name="resource">The resource to add.</param> public void addResource(Resource resource) { if (resource.LocName != null && !resources.containsResource(resource.LocName)) { resources.addResource(resource); resource.setResourceGroup(this); onResourceAdded(resource); parent.fireResourceAdded(this, resource); } else { Log.Default.sendMessage("ResourceGroup {0} already contains the resource {1}. Duplicate ignored.", LogLevel.Warning, "ResourceManagement", name, resource.LocName); } }