/// <summary> /// Tries to get a <see cref="IShaderMixinBuilder"/> by its name. /// </summary> /// <param name="pdxfxEffectName">Name of the mixin.</param> /// <param name="builder">The builder instance found or null if not found.</param> /// <returns><c>true</c> if the builder was found, <c>false</c> otherwise.</returns> /// <exception cref="System.ArgumentNullException">pdxfxEffectName</exception> public static bool TryGet(string pdxfxEffectName, out IShaderMixinBuilder builder) { if (pdxfxEffectName == null) throw new ArgumentNullException("pdxfxEffectName"); lock (RegisteredBuilders) { return RegisteredBuilders.TryGetValue(pdxfxEffectName, out builder); } }
/// <summary> /// Tries to get a <see cref="IShaderMixinBuilder"/> by its name. /// </summary> /// <param name="pdxfxEffectName">Name of the mixin.</param> /// <param name="builder">The builder instance found or null if not found.</param> /// <returns><c>true</c> if the builder was found, <c>false</c> otherwise.</returns> /// <exception cref="System.ArgumentNullException">pdxfxEffectName</exception> public static bool TryGet(string pdxfxEffectName, out IShaderMixinBuilder builder) { if (pdxfxEffectName == null) { throw new ArgumentNullException("pdxfxEffectName"); } lock (RegisteredBuilders) { return(RegisteredBuilders.TryGetValue(pdxfxEffectName, out builder)); } }
/// <summary> /// Registers a <see cref="IShaderMixinBuilder"/> with the specified pdxfx effect name. /// </summary> /// <param name="pdxfxEffectName">Name of the mixin.</param> /// <param name="builder">The builder.</param> /// <exception cref="System.ArgumentNullException"> /// pdxfxEffectName /// or /// builder /// </exception> public static void Register(string pdxfxEffectName, IShaderMixinBuilder builder) { if (pdxfxEffectName == null) throw new ArgumentNullException("pdxfxEffectName"); if (builder == null) throw new ArgumentNullException("builder"); lock (RegisteredBuilders) { RegisteredBuilders[pdxfxEffectName] = builder; } }
/// <summary> /// Registers a <see cref="IShaderMixinBuilder"/> with the specified pdxfx effect name. /// </summary> /// <param name="pdxfxEffectName">Name of the mixin.</param> /// <param name="builder">The builder.</param> /// <exception cref="System.ArgumentNullException"> /// pdxfxEffectName /// or /// builder /// </exception> public static void Register(string pdxfxEffectName, IShaderMixinBuilder builder) { if (pdxfxEffectName == null) { throw new ArgumentNullException("pdxfxEffectName"); } if (builder == null) { throw new ArgumentNullException("builder"); } lock (RegisteredBuilders) { RegisteredBuilders[pdxfxEffectName] = builder; } }