/// <summary> /// Initialize interpreter. /// </summary> /// <param name="factories">The factories.</param> /// <param name="input">The input.</param> /// <param name="output">The output.</param> /// <exception cref="ArgumentNullException"></exception> public BaseInterpreter(IEnumerable<ICommandFactory<ConsoleContext<Dungeon>>> factories, TextReader input, TextWriter output, KeyboardStream inputStream) { if (factories == null || input == null || output == null || inputStream == null) throw new ArgumentNullException(); Input = input; Output = output; this.inputStream = inputStream; parser = new CommandParser<ConsoleContext<Dungeon>>(factories); }
/// <summary> /// Initialize interpreter. /// </summary> /// <param name="factories">The factories.</param> /// <param name="input">The input.</param> /// <param name="output">The output.</param> /// <exception cref="ArgumentNullException"></exception> public BaseInterpreter(IEnumerable <ICommandFactory <ConsoleContext <Dungeon> > > factories, TextReader input, TextWriter output, KeyboardStream inputStream) { if (factories == null || input == null || output == null || inputStream == null) { throw new ArgumentNullException(); } Input = input; Output = output; this.inputStream = inputStream; parser = new CommandParser <ConsoleContext <Dungeon> >(factories); }