bool ezConsole::ProcessInputCharacter(ezUInt32 uiChar) { switch (uiChar) { case 27: // Escape ClearInputLine(); return false; case '\b': // backspace { if (!m_sInputLine.IsEmpty() && m_iCaretPosition > 0) { RemoveCharacter(m_iCaretPosition - 1); MoveCaret(-1); } } return false; case '\t': AutoCompleteInputLine(); return false; case 13: // Enter AddToInputHistory(m_sInputLine.GetData()); ProcessCommand(m_sInputLine.GetData()); ClearInputLine(); return false; } return true; }
ezConsole::ezConsole() { ClearInputLine(); m_bLogOutputEnabled = false; m_bDefaultInputHandlingInitialized = false; m_uiMaxConsoleStrings = 1000; EnableLogOutput(true); SetCommandInterpreter(ezConsoleInterpreter::Lua); }
void FServerConsole::Serialize( const TCHAR* sData, ELogVerbosity::Type eVerbosity, const class FName& sCategory, const double fTime ) { FScopeLock hLock( &m_hLock ); #if PLATFORM_WINDOWS COORD hCursorPosition = GetCursorPosition(); #endif ClearInputLine(); m_pConsole->Serialize( sData, eVerbosity, sCategory, fTime ); RedrawInputLine(); #if PLATFORM_WINDOWS hCursorPosition.Y = GetCursorPosition().Y; SetCursorPosition( hCursorPosition ); #endif }