///--------------------------------------------------------------------------------- /// ///--------------------------------------------------------------------------------- bool RunConsoleCommandFromLine( const std::string& line ) { std::string lineLC = ConvertToLowerCase( line ); std::vector< std::string> args; Tokenize( lineLC, args, "( ,;)" ); DeveloperConsoleArguments argsObj( args, 1 ); DeveloperConsole::WriteLine( line, INFO_TEXT_COLOR ); return RunConsoleCommand( args[0], &argsObj ); }
Sys::chainreturn Hotkeys(SDL_Event event) { switch(event.type) { case SDL_KEYDOWN: switch(event.key.keysym.sym) { case SDLK_BACKQUOTE: consoleActive = !consoleActive; console.display->visible = consoleActive; console.input->visible = consoleActive; if(consoleActive) { SDL_StartTextInput(); console.input->line = ""; } else { SDL_StopTextInput(); console.input->line = ""; } return Sys::CHAIN_FINISH; case SDLK_RETURN: RunConsoleCommand(console.input->line); console.input->line = ""; // TODO: Commit command return Sys::CHAIN_FINISH; case SDLK_BACKSPACE: if(console.input->line.length() > 0) console.input->line.erase(console.input->line.end()-1); } break; case SDL_TEXTINPUT: if(strcmp("`", event.text.text) != 0) console.input->line += event.text.text; break; } return Sys::CHAIN_CONTINUE; }