private IEnumerable <IEffectEditorControl> _GetEditorBySignature(IEffectModuleDescriptor descriptor) { EffectEditorModuleRepository repository = Modules.GetRepository <IEffectEditorModuleInstance, EffectEditorModuleRepository>(); IEffectEditorModuleInstance instance = repository.Get(descriptor.Parameters.Select(x => x.Type)); return((instance != null) ? instance.CreateEditorControl().AsEnumerable() : null); }
private IEnumerable <IEffectEditorControl> _GetEditorByEffect(IEffectModuleDescriptor descriptor) { // Need the type-specific repository reference, doing more than basic // repository operations. EffectEditorModuleRepository repository = Modules.GetRepository <IEffectEditorModuleInstance, EffectEditorModuleRepository>(); IEffectEditorModuleInstance instance = repository.GetByEffectId(descriptor.TypeId); return((instance != null) ? instance.CreateEditorControl().AsEnumerable() : null); }
private IEnumerable <IEffectEditorControl> _GetEditorsByParameter(IEffectModuleDescriptor descriptor) { EffectEditorModuleRepository repository = Modules.GetRepository <IEffectEditorModuleInstance, EffectEditorModuleRepository>(); IEnumerable <IEffectEditorModuleInstance> instances = descriptor.Parameters.Select(x => repository.Get(x.Type)); if (!instances.Any(x => x == null)) { return(instances.Select(x => x.CreateEditorControl())); } return(null); }