/// <summary> /// Register a custom RenderOrderActionHandler to be invoked when an /// AbstractRenderOrderAction of the given type is encountered. /// </summary> /// <param name="type"></param> /// <param name="handler"></param> public void RegisterRenderOrderActionHandler(Type type, LayerRenderOrderActionHandler handler) { if (!type.IsSubclassOf(typeof(RenderOrder.AbstractRenderOrderAction))) { throw new RenderOrderException( String.Format( "Cannot specify RenderOrderAction handler for type '{0}'." + "The given type must be a subclass of '{1}'.", type, typeof(RenderOrder.AbstractRenderOrderAction))); } UnknownRenderOrderActionHandlers.Add(type, handler); }
/// <summary> /// Register a custom RenderOrderActionHandler to be invoked when an /// AbstractRenderOrderAction of type "T" is encountered. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="handler"></param> public void RegisterRenderOrderActionHandler <T>(LayerRenderOrderActionHandler handler) where T : RenderOrder.AbstractRenderOrderAction { RegisterRenderOrderActionHandler(typeof(T), handler); }