public EffectFactory(ConcreteComponentAssembler assembler) { _assembler = assembler; _effectFactories = new Dictionary <EffectType, Func <EffectData, IEffect> > { [EffectType.BokehDoF] = data => CreateEffect <BokehDoF>(data), [EffectType.Denoise] = data => CreateEffect <Denoise>(data), [EffectType.Hdr] = data => CreateEffect <Hdr>(data), [EffectType.LiftGammaGain] = data => CreateEffect <LiftGammaGain>(data), [EffectType.Lumasharpen] = data => CreateEffect <LumaSharpen>(data), [EffectType.Tonemap] = data => CreateEffect <Tonemap>(data), [EffectType.Vibrance] = data => CreateEffect <Vibrance>(data) }; _templateFactories = new Dictionary <EffectType, Func <EffectData> > { [EffectType.BokehDoF] = () => CreateEffectData(EffectType.BokehDoF, new BokehDoF()), [EffectType.Denoise] = () => CreateEffectData(EffectType.Denoise, new Denoise()), [EffectType.Hdr] = () => CreateEffectData(EffectType.Hdr, new Hdr()), [EffectType.LiftGammaGain] = () => CreateEffectData(EffectType.LiftGammaGain, new LiftGammaGain()), [EffectType.Lumasharpen] = () => CreateEffectData(EffectType.Lumasharpen, new LumaSharpen()), [EffectType.Tonemap] = () => CreateEffectData(EffectType.Tonemap, new Tonemap()), [EffectType.Vibrance] = () => CreateEffectData(EffectType.Vibrance, new Vibrance()) }; }
public Direct3D11PluginDataAccessLayer( Direct3D11Settings settings, ConcreteComponentAssembler assembler) { _settings = settings; _assembler = assembler; _effectFactory = new EffectFactory(_assembler); }
public Effect( Guid id, EffectType type, bool isEnabled, TEffect data, ConcreteComponentAssembler assembler, IEffectSerializer serializer) { _type = type; _data = data; Component = assembler.Assemble(_data); _serializer = serializer; Id = id; IsEnabled = isEnabled; }