Example #1
0
        public static EventListener CreateEventListener(ConsoleOptions options)
        {
            var eventListeners = new List <EventListener>();

            if (options.HasStoryOutput)
            {
                eventListeners.Add(EventListeners.FileOutputEventListener(options.StoryOutput));
            }

            if (options.HasStoryXmlOutput)
            {
                eventListeners.Add(EventListeners.XmlWriterEventListener(options.Xml));
            }

            if (options.Console)
            {
                eventListeners.Add(EventListeners.ColorfulConsoleOutputEventListener());
            }

            if (eventListeners.Count == 0)
            {
                eventListeners.Add(EventListeners.ColorfulConsoleOutputEventListener());
            }

            if (options.Codegen)
            {
                eventListeners.Add(EventListeners.CodeGenEventListener(System.Console.Out));
            }

            return(new MultiOutputEventListener(eventListeners.ToArray()));
        }