private void ensureInitialization() { if (_lastResponse != null) { //initialization has been completed return; } Manager = createDialogManager(); _firstResponse = Manager.Initialize(); _lastResponse = _firstResponse; _currentHTML = systemTextHTML(_lastResponse.ToString()); if (Manager == null) { throw new NullReferenceException("_manager"); } if (_lastResponse == null) { throw new NullReferenceException("_lastResponse"); } if (_currentHTML == null) { throw new NullReferenceException("_currentHTML"); } }
/// <summary> /// Run dialog service (is blocking) /// </summary> public void Run(bool useDirectInput = false) { if (_inputManager != null) { var initializationResponse = _inputManager.Initialize(); ConsoleServices.PrintOutput(initializationResponse); } for (; ;) { var utterance = readUtterance(); ResponseBase response; if (_manager == null) { var parsedSentence = Dialog.UtteranceParser.Parse(utterance); response = _inputManager.Input(parsedSentence); } else { var parsedUtterance = parseUtterance(utterance); if (parsedUtterance == null) { return; } if (useDirectInput) { response = _manager.Ask(utterance); } else { response = parsedUtterance.HandleManager(_manager); } } ConsoleServices.PrintOutput(response); } }