Ejemplo n.º 1
0
// -----------------------------------------------------------------------------
// Registers the Game namespace with lua
// -----------------------------------------------------------------------------
void registerGameNamespace(sol::state& lua)
{
	auto game         = lua.create_table("Game");
	game["ThingType"] = [](int type) { return Game::configuration().thingType(type); };
}
Ejemplo n.º 2
0
void Keyboard::luaBindings(
    sol::state &lua
){
    lua.new_usertype<Keyboard::KeyEvent>("KeyboardKeyEvent",

        "key", sol::readonly(&Keyboard::KeyEvent::key),
        "alt", sol::readonly(&Keyboard::KeyEvent::alt),
        "ctrl", sol::readonly(&Keyboard::KeyEvent::ctrl),
        "shift", sol::readonly(&Keyboard::KeyEvent::shift),
        "pressed", sol::readonly(&Keyboard::KeyEvent::pressed)
    );
    
    lua.new_usertype<Keyboard>("Keyboard",

        "new", sol::no_constructor,

        "isKeyDown", &Keyboard::isKeyDown,
        "wasKeyPressed", &Keyboard::wasKeyPressed,
        "wasKeyReleased", &Keyboard::wasKeyReleased
    );

    // This cannot be a template because template recursion goes too deep
    auto table = lua.create_table();

    table.set("KC_UNASSIGNED", OIS::KC_UNASSIGNED);
    table.set("KC_ESCAPE", OIS::KC_ESCAPE);
    table.set("KC_1", OIS::KC_1);
    table.set("KC_2", OIS::KC_2);
    table.set("KC_3", OIS::KC_3);
    table.set("KC_4", OIS::KC_4);
    table.set("KC_5", OIS::KC_5);
    table.set("KC_6", OIS::KC_6);
    table.set("KC_7", OIS::KC_7);
    table.set("KC_8", OIS::KC_8);
    table.set("KC_9", OIS::KC_9);
    table.set("KC_0", OIS::KC_0);
    table.set("KC_MINUS", OIS::KC_MINUS);
    table.set("KC_EQUALS", OIS::KC_EQUALS);
    table.set("KC_BACK", OIS::KC_BACK);
    table.set("KC_TAB", OIS::KC_TAB);
    table.set("KC_Q", OIS::KC_Q);
    table.set("KC_W", OIS::KC_W);
    table.set("KC_E", OIS::KC_E);
    table.set("KC_R", OIS::KC_R);
    table.set("KC_T", OIS::KC_T);
    table.set("KC_Y", OIS::KC_Y);
    table.set("KC_U", OIS::KC_U);
    table.set("KC_I", OIS::KC_I);
    table.set("KC_O", OIS::KC_O);
    table.set("KC_P", OIS::KC_P);
    table.set("KC_LBRACKET", OIS::KC_LBRACKET);
    table.set("KC_RBRACKET", OIS::KC_RBRACKET);
    table.set("KC_RETURN", OIS::KC_RETURN);
    table.set("KC_LCONTROL", OIS::KC_LCONTROL);
    table.set("KC_A", OIS::KC_A);
    table.set("KC_S", OIS::KC_S);
    table.set("KC_D", OIS::KC_D);
    table.set("KC_F", OIS::KC_F);
    table.set("KC_G", OIS::KC_G);
    table.set("KC_H", OIS::KC_H);
    table.set("KC_J", OIS::KC_J);
    table.set("KC_K", OIS::KC_K);
    table.set("KC_L", OIS::KC_L);
    table.set("KC_SEMICOLON", OIS::KC_SEMICOLON);
    table.set("KC_APOSTROPHE", OIS::KC_APOSTROPHE);
    table.set("KC_GRAVE", OIS::KC_GRAVE);
    table.set("KC_LSHIFT", OIS::KC_LSHIFT);
    table.set("KC_BACKSLASH", OIS::KC_BACKSLASH);
    table.set("KC_Z", OIS::KC_Z);
    table.set("KC_X", OIS::KC_X);
    table.set("KC_C", OIS::KC_C);
    table.set("KC_V", OIS::KC_V);
    table.set("KC_B", OIS::KC_B);
    table.set("KC_N", OIS::KC_N);
    table.set("KC_M", OIS::KC_M);
    table.set("KC_COMMA", OIS::KC_COMMA);
    table.set("KC_PERIOD", OIS::KC_PERIOD);
    table.set("KC_SLASH", OIS::KC_SLASH);
    table.set("KC_RSHIFT", OIS::KC_RSHIFT);
    table.set("KC_MULTIPLY", OIS::KC_MULTIPLY);
    table.set("KC_LMENU", OIS::KC_LMENU);
    table.set("KC_SPACE", OIS::KC_SPACE);
    table.set("KC_CAPITAL", OIS::KC_CAPITAL);
    table.set("KC_F1", OIS::KC_F1);
    table.set("KC_F2", OIS::KC_F2);
    table.set("KC_F3", OIS::KC_F3);
    table.set("KC_F4", OIS::KC_F4);
    table.set("KC_F5", OIS::KC_F5);
    table.set("KC_F6", OIS::KC_F6);
    table.set("KC_F7", OIS::KC_F7);
    table.set("KC_F8", OIS::KC_F8);
    table.set("KC_F9", OIS::KC_F9);
    table.set("KC_F10", OIS::KC_F10);
    table.set("KC_NUMLOCK", OIS::KC_NUMLOCK);
    table.set("KC_SCROLL", OIS::KC_SCROLL);
    table.set("KC_NUMPAD7", OIS::KC_NUMPAD7);
    table.set("KC_NUMPAD8", OIS::KC_NUMPAD8);
    table.set("KC_NUMPAD9", OIS::KC_NUMPAD9);
    table.set("KC_SUBTRACT", OIS::KC_SUBTRACT);
    table.set("KC_NUMPAD4", OIS::KC_NUMPAD4);
    table.set("KC_NUMPAD5", OIS::KC_NUMPAD5);
    table.set("KC_NUMPAD6", OIS::KC_NUMPAD6);
    table.set("KC_ADD", OIS::KC_ADD);
    table.set("KC_NUMPAD1", OIS::KC_NUMPAD1);
    table.set("KC_NUMPAD2", OIS::KC_NUMPAD2);
    table.set("KC_NUMPAD3", OIS::KC_NUMPAD3);
    table.set("KC_NUMPAD0", OIS::KC_NUMPAD0);
    table.set("KC_DECIMAL", OIS::KC_DECIMAL);
    table.set("KC_OEM_102", OIS::KC_OEM_102);
    table.set("KC_F11", OIS::KC_F11);
    table.set("KC_F12", OIS::KC_F12);
    table.set("KC_F13", OIS::KC_F13);
    table.set("KC_F14", OIS::KC_F14);
    table.set("KC_F15", OIS::KC_F15);
    table.set("KC_KANA", OIS::KC_KANA);
    table.set("KC_ABNT_C1", OIS::KC_ABNT_C1);
    table.set("KC_CONVERT", OIS::KC_CONVERT);
    table.set("KC_NOCONVERT", OIS::KC_NOCONVERT);
    table.set("KC_YEN", OIS::KC_YEN);
    table.set("KC_ABNT_C2", OIS::KC_ABNT_C2);
    table.set("KC_NUMPADEQUALS", OIS::KC_NUMPADEQUALS);
    table.set("KC_PREVTRACK", OIS::KC_PREVTRACK);
    table.set("KC_AT", OIS::KC_AT);
    table.set("KC_COLON", OIS::KC_COLON);
    table.set("KC_UNDERLINE", OIS::KC_UNDERLINE);
    table.set("KC_KANJI", OIS::KC_KANJI);
    table.set("KC_STOP", OIS::KC_STOP);
    table.set("KC_AX", OIS::KC_AX);
    table.set("KC_UNLABELED", OIS::KC_UNLABELED);
    table.set("KC_NEXTTRACK", OIS::KC_NEXTTRACK);
    table.set("KC_NUMPADENTER", OIS::KC_NUMPADENTER);
    table.set("KC_RCONTROL", OIS::KC_RCONTROL);
    table.set("KC_MUTE", OIS::KC_MUTE);
    table.set("KC_CALCULATOR", OIS::KC_CALCULATOR);
    table.set("KC_PLAYPAUSE", OIS::KC_PLAYPAUSE);
    table.set("KC_MEDIASTOP", OIS::KC_MEDIASTOP);
    table.set("KC_VOLUMEDOWN", OIS::KC_VOLUMEDOWN);
    table.set("KC_VOLUMEUP", OIS::KC_VOLUMEUP);
    table.set("KC_WEBHOME", OIS::KC_WEBHOME);
    table.set("KC_NUMPADCOMMA", OIS::KC_NUMPADCOMMA);
    table.set("KC_DIVIDE", OIS::KC_DIVIDE);
    table.set("KC_SYSRQ", OIS::KC_SYSRQ);
    table.set("KC_RMENU", OIS::KC_RMENU);
    table.set("KC_PAUSE", OIS::KC_PAUSE);
    table.set("KC_HOME", OIS::KC_HOME);
    table.set("KC_UP", OIS::KC_UP);
    table.set("KC_PGUP", OIS::KC_PGUP);
    table.set("KC_LEFT", OIS::KC_LEFT);
    table.set("KC_RIGHT", OIS::KC_RIGHT);
    table.set("KC_END", OIS::KC_END);
    table.set("KC_DOWN", OIS::KC_DOWN);
    table.set("KC_PGDOWN", OIS::KC_PGDOWN);
    table.set("KC_INSERT", OIS::KC_INSERT);
    table.set("KC_DELETE", OIS::KC_DELETE);
    table.set("KC_LWIN", OIS::KC_LWIN);
    table.set("KC_RWIN", OIS::KC_RWIN);
    table.set("KC_APPS", OIS::KC_APPS);
    table.set("KC_POWER", OIS::KC_POWER);
    table.set("KC_SLEEP", OIS::KC_SLEEP);
    table.set("KC_WAKE", OIS::KC_WAKE);
    table.set("KC_WEBSEARCH", OIS::KC_WEBSEARCH);
    table.set("KC_WEBFAVORITES", OIS::KC_WEBFAVORITES);
    table.set("KC_WEBREFRESH", OIS::KC_WEBREFRESH);
    table.set("KC_WEBSTOP", OIS::KC_WEBSTOP);
    table.set("KC_WEBFORWARD", OIS::KC_WEBFORWARD);
    table.set("KC_WEBBACK", OIS::KC_WEBBACK);
    table.set("KC_MYCOMPUTER", OIS::KC_MYCOMPUTER);
    table.set("KC_MAIL", OIS::KC_MAIL);
    table.set("KC_MEDIASELECT", OIS::KC_MEDIASELECT);
    
    lua["KEYCODE"] = table;

}