예제 #1
0
        /// <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);
            }
        }
예제 #2
0
        /// <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));
            }
        }
예제 #3
0
        /// <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;
            }
        }
예제 #4
0
        /// <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;
            }
        }