16#include <OgreStringConverter.h>
36 Ogre::StringVector keys = Ogre::StringUtil::split(
string,
"+");
38 for (
unsigned int i = 0; i < keys.size(); ++ i)
42 for (
unsigned int i = 0; i < key_codes.size(); ++ i){
43 if (key_codes[i] == OIS::KC_UNASSIGNED){
45 "Failed to parse key string \"" +
string
46 +
"\". Can't recognize key " + Ogre::StringConverter::toString(i)
64void CmdBind(
const Ogre::StringVector& params){
65 if (params.size() != 3){
66 Console::getSingleton().AddTextToOutput(
67 "Usage: /bind <key1>+[key2]+[key3] \"<command line>\""
72 if (
ParseKeys(params[1], key_codes) ==
false){
76 ConfigCmd* cmd = ConfigCmdHandler::getSingleton().Find(params_cmd[0]);
78 InputManager::getSingleton().BindCommand(
79 cmd, params_cmd, key_codes
82 "Bind \"" + params[1] +
"\" to command \"" + params[2] +
"\"."
87 "Can't find command \"" + params_cmd[0]
88 +
"\" in bind command \"" + params[2] +
"\"."
105 if (params.size() != 3){
106 Console::getSingleton().AddTextToOutput(
107 "Usage: /game_bind <key1>+[key2]+[key3] \"<game event>\""
112 if (
ParseKeys(params[1], key_codes) ==
false){
113 InputManager::getSingleton().BindGameEvent(params[2], key_codes);
115 "Bind \"" + params[1] +
"\" to game event \"" + params[2] +
"\"."
122 ConfigCmdHandler::getSingleton().AddCommand(
123 "bind",
"Bind command to keys",
"",
CmdBind, NULL
125 ConfigCmdHandler::getSingleton().AddCommand(
Ogre::StringVector StringTokenise(const Ogre::String &str, const Ogre::String &delimiters, const Ogre::String &delimiters_preserve, const Ogre::String "e, const Ogre::String &esc)
Tokenizes a string.
Definition: Utilites.cpp:277
OIS::KeyCode StringToKey(const Ogre::String &str)
Obtains a key code from a name.
Definition: Utilites.cpp:269
A configuration command.
Definition: ConfigCmd.h:31
#define LOG_ERROR(message)
Prints an error log message.
Definition: Logger.h:28
#define LOG_TRIVIAL(message)
Prints a trivial log message.
Definition: Logger.h:50
Ogre::String String
Definition: TypeDefine.h:37