コード例 #1
0
int LuaCreatureObject::getPlayerObject(lua_State* L) {
    Reference<PlayerObject*> obj = realObject->getPlayerObject();

    if (obj != NULL) {
        obj->_setUpdated(true);
        lua_pushlightuserdata(L, obj);
    } else
        lua_pushnil(L);

    return 1;
}
コード例 #2
0
int LuaCreatureObject::getConversationSession(lua_State* L) {
    Reference<ConversationSession*> session = realObject->getActiveSession(SessionFacadeType::CONVERSATION).castTo<ConversationSession*>();

    if (session != NULL) {
        session->_setUpdated(true);
        lua_pushlightuserdata(L, session);
    } else
        lua_pushnil(L);

    return 1;
}
コード例 #3
0
int LuaPlayerObject::getSuiBox(lua_State* L) {
	uint32 pageId = lua_tointeger(L, -1);
	Reference<SuiBox*> object = realObject->getSuiBox(pageId);

	if (object == nullptr) {
		lua_pushnil(L);
	} else {
		lua_pushlightuserdata(L, object.get());
		object->_setUpdated(true); //mark updated so the GC doesnt delete it while in LUA
	}

	return 1;
}