internal LayerEffectRegistration(LayerEffectDescriptor descriptor, Plugin plugin) { LayerEffectDescriptor = descriptor; Plugin = plugin; Plugin.PluginDisabled += PluginOnPluginDisabled; }
internal LayerEffectRegistration(LayerEffectDescriptor descriptor, PluginFeature pluginFeature) { LayerEffectDescriptor = descriptor; PluginFeature = pluginFeature; PluginFeature.Disabled += OnDisabled; }
public static LayerEffectDescriptor Create(Guid missingPluginGuid) { LayerEffectDescriptor descriptor = new LayerEffectDescriptor("Missing effect", "This effect could not be loaded", "FileQuestion", null, Constants.EffectPlaceholderPlugin) { PlaceholderFor = missingPluginGuid }; return(descriptor); }
public LayerEffectRegistration RegisterLayerEffect(LayerEffectDescriptor descriptor) { if (descriptor == null) { throw new ArgumentNullException(nameof(descriptor)); } return(LayerEffectStore.Add(descriptor)); }
public static LayerEffectRegistration Add(LayerEffectDescriptor descriptor) { LayerEffectRegistration registration; lock (Registrations) { if (Registrations.Any(r => r.LayerEffectDescriptor == descriptor)) { throw new ArtemisCoreException($"Store already contains layer brush '{descriptor.DisplayName}'"); } registration = new LayerEffectRegistration(descriptor, descriptor.LayerEffectProvider.PluginInfo.Instance) { IsInStore = true }; Registrations.Add(registration); } OnLayerEffectAdded(new LayerEffectStoreEvent(registration)); return(registration); }