예제 #1
0
        /*============================================================================*/
        /* Constructor                                                                */
        /*============================================================================*/

        public EventCommandTrigger(IInjector injector, IEventDispatcher dispatcher, Enum type, Type eventClass = null, IEnumerable <CommandMappingList.Processor> processors = null, ILogging logger = null)
        {
            _dispatcher = dispatcher;
            _type       = type;
            _eventClass = eventClass;
            _mappings   = new CommandMappingList(this, processors, logger);
            _executor   = new CommandExecutor(injector, _mappings.RemoveMapping);
        }
        /*============================================================================*/
        /* Constructor                                                                */
        /*============================================================================*/

        public DirectCommandMapper(ICommandExecutor executor, ICommandMappingList mappings, Type commandClass)
        {
            _executor = executor;
            _mappings = mappings;
            _mapping  = new CommandMapping(commandClass);
            _mapping.SetFireOnce(true);
            _mappings.AddMapping(_mapping);
        }
		/*============================================================================*/
		/* Constructor                                                                */
		/*============================================================================*/

		public EventCommandTrigger (IInjector injector, IEventDispatcher dispatcher, Enum type, Type eventClass = null, IEnumerable<CommandMappingList.Processor> processors = null, ILogger logger = null)
		{
			_dispatcher = dispatcher;
			_type = type;
			_eventClass = eventClass;
			_mappings = new CommandMappingList(this, processors, logger);
			_executor = new CommandExecutor(injector, _mappings.RemoveMapping);
		}
        /*============================================================================*/
        /* Constructor                                                                */
        /*============================================================================*/

        /**
         * Creates a Command Mapper
         * @param mappings The command mapping list to add mappings to
         */
        public CommandMapper(ICommandMappingList mappings)
        {
            _mappings = mappings;
        }