本文整理汇总了C++中LuaState::getState方法的典型用法代码示例。如果您正苦于以下问题:C++ LuaState::getState方法的具体用法?C++ LuaState::getState怎么用?C++ LuaState::getState使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LuaState
的用法示例。
在下文中一共展示了LuaState::getState方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: outputFunc
void outputFunc(std::string file, std::string func, const std::string& str, std::vector<any> args)
{
LuaState ls;
openUtilExtendLibs(ls.getState());
int err = ls.parseFile(file);
if (0 != err)
{
printLine(luaGetError(ls.getState(), err));
return;
}
luaGetGlobal(ls.getState(), func);
luaPushString(ls.getState(), str);
for (size_t i=0; i<args.size(); ++i)
luaPushAny(ls.getState(), args[i]);
err = luaCallFunc(ls.getState(), 1 + args.size() , 0);
if (0 != err)
{
printLine(luaGetError(ls.getState(), err));
return;
}
luaPop(ls.getState(), -1);
}
示例2: registerComponent
void PositionComponent::registerComponent(LuaState& state)
{
//Register loading infos
meta::MetadataStore::registerClass<PositionComponent>("PositionComponent")
.declareAttribute<float>("x", &PositionComponent::x)
.declareAttribute<float>("y", &PositionComponent::y)
.declareAttribute<float>("z", &PositionComponent::z)
.declareAttribute<float>("width", &PositionComponent::width)
.declareAttribute<float>("height", &PositionComponent::height);
EntityHandle::declareComponent<PositionComponent>("position");
//Register to lua
state.getState().new_usertype<PositionComponent>("position_component",
"x", &PositionComponent::x,
"y", &PositionComponent::y,
"z", &PositionComponent::z,
"width", &PositionComponent::width,
"height", &PositionComponent::height,
"old_x", sol::readonly(&PositionComponent::oldX),
"old_y", sol::readonly(&PositionComponent::oldY),
"old_width", sol::readonly(&PositionComponent::oldWidth),
"old_height", sol::readonly(&PositionComponent::oldHeight)
);
state.declareComponentGetter<PositionComponent>("position");
}
示例3: registerClass
void LevelState::registerClass(LuaState& luaState)
{
sol::constructors<> ctor;
sol::usertype<LevelState> levelLuaClass(ctor,
"create_new_entity", &LevelState::lua_createNewEntity,
"get_entities", &LevelState::lua_getEntities
);
luaState.getState().set_usertype("level_state", levelLuaClass);
}
示例4: registerComponent
void ColliderComponent::registerComponent(LuaState& state)
{
meta::MetadataStore::registerClass<ColliderComponent>();
EntityHandle::declareComponent<ColliderComponent>("collider");
state.getState().new_usertype<ColliderComponent>("collider_component" //TODO: Replace the name here
//TODO: Register the properties here
);
state.declareComponentGetter<ColliderComponent>("collider");
}
示例5: Init
void WeatherMgr::Init(LuaState &lua)
{
lua.getState()->new_usertype<WeatherMgr>("WeatherMgr",
"current", sol::property(&WeatherMgr::getCurrent, &WeatherMgr::setCurrent),
"next", sol::property(&WeatherMgr::getNext, &WeatherMgr::setNext),
"transitionFactor", sol::property(&WeatherMgr::getTransition, &WeatherMgr::setTransition),
"updateTime", sol::property(&WeatherMgr::getUpdate, &WeatherMgr::setUpdate),
"copy", &WeatherMgr::copy,
"setWeather", &WeatherMgr::setWeather,
"request", &WeatherMgr::requestWeather
);
}
示例6: registerComponent
void CustomBehaviorComponent::registerComponent(LuaState& state)
{
meta::MetadataStore::registerClass<CustomBehaviorComponent>("CustomBehaviorComponent")
.declareAttribute<sol::function>("on_update", &CustomBehaviorComponent::updateFunction);
EntityHandle::declareComponent<CustomBehaviorComponent>("custom_behavior");
state.getState().new_usertype<CustomBehaviorComponent>("custom_behavior_component",
"on_update", &CustomBehaviorComponent::updateFunction
);
state.declareComponentGetter<CustomBehaviorComponent>("custom_behavior");
}
示例7: registerClass
void EntityHandle::registerClass(LuaState &state)
{
state.getState().new_usertype<EntityHandle>("entity_handle",
"remove_entity", &EntityHandle::removeEntity,
"has_component", &EntityHandle::hasComponent,
"get_attribute", &EntityHandle::getAttributeAsAny,
"set_attribute", &EntityHandle::setAttributeAsAny,
"get_table_attribute", &EntityHandle::getAttributeAsLuaTable,
"set_table_attribute", &EntityHandle::setAttributeAsLuaTable,
"get_custom_data", &EntityHandle::getCustomData,
"write_to_console", &EntityHandle::writeToConsole
);
}
示例8: registerComponent
void PlatformComponent::registerComponent(LuaState& state)
{
meta::MetadataStore::registerClass<PlatformComponent>("PlatformComponent")
.declareAttribute("activated", &PlatformComponent::activated)
.declareAttribute("on_hit", &PlatformComponent::onHitFunc)
.setExtraLoadFunction([](PlatformComponent* platform, const sol::object& luaObject)
{
const sol::object& platformTypeLua = luaObject.as<sol::table>().get<sol::object>("platform_type");
if(platformTypeLua.is<std::string>())
{
platform->setPlatformTypeAsString(platformTypeLua.as<std::string>());
}
});
EntityHandle::declareComponent<PlatformComponent>("platform");
state.getState().new_usertype<PlatformComponent>("platform_component",
"activated", &PlatformComponent::activated,
"platform_type", sol::property(&PlatformComponent::getPlatformTypeAsString, &PlatformComponent::setPlatformTypeAsString),
"on_hit", &PlatformComponent::onHitFunc
);
state.declareComponentGetter<PlatformComponent>("platform");
}
示例9: Init
void Player::Init(LuaState &lua)
{
lua.getState()->new_usertype<Player>("Player",
"getPosition", &NetActor::getPosition,
"setPosition", &NetActor::setPosition,
"getRotation", &NetActor::getRotation,
"setRotation", &NetActor::setRotation,
"setMomentum", &NetActor::setMomentum,
"getHealth", &NetActor::getHealth,
"setHealth", &NetActor::setHealth,
"getMagicka", &NetActor::getMagicka,
"setMagicka", &NetActor::setMagicka,
"getFatigue", &NetActor::getFatigue,
"setFatigue", &NetActor::setFatigue,
"getCell", &NetActor::getCell,
"getInventory", &NetActor::getInventory,
"getPreviousCellPos", &Player::getPreviousCellPos,
"kick", &Player::kick,
"ban", &Player::ban,
"address", sol::property(&Player::getIP),
"getAvgPing", &Player::getAvgPing,
"message", &Player::message,
"joinChannel", &Player::joinChannel,
"cleanChannel", &Player::cleanChannel,
"renameChannel", &Player::renameChannel,
"closeChannel", &Player::closeChannel,
"leaveChannel", &Player::leaveChannel,
"setChannel", &Player::setChannel,
"isChannelOpen", &Player::isChannelOpen,
"pid", sol::readonly_property(&Player::id),
"guid", sol::readonly_property(&Player::getGUID),
"name", sol::property(&Player::getName, &Player::setName),
"setCharGenStages", &Player::setCharGenStages,
"level", sol::property(&Player::getLevel, &Player::setLevel),
"gender", sol::property(&Player::getGender, &Player::setGender),
"race", sol::property(&Player::getRace, &Player::setRace),
"head", sol::property(&Player::getHead, &Player::setHead),
"hair", sol::property(&Player::getHair, &Player::setHair),
"birthsign", sol::property(&Player::getBirthsign, &Player::setBirthsign),
"setResetStats", &Player::setResetStats,
"bounty", sol::property(&Player::getBounty, &Player::setBounty),
"reputation", sol::property(&Player::getReputation, &Player::setReputation),
"levelProgress", sol::property(&Player::getLevelProgress, &Player::setLevelProgress),
"creatureRefId", sol::property(&Player::getCreatureRefId, &Player::setCreatureRefId),
"displayCreatureName", sol::property(&Player::getCreatureNameDisplayState, &Player::setCreatureNameDisplayState),
"resurrect", &Player::resurrect,
"jail", &Player::jail,
"werewolf", sol::property(&Player::getWerewolfState, &Player::setWerewolfState),
"scale", sol::property(&Player::getScale, &Player::setScale),
"getAttribute", &Player::getAttribute,
"setAttribute", &Player::setAttribute,
"getSkill", &Player::getSkill,
"setSkill", &Player::setSkill,
"getSkillIncrease", &Player::getSkillIncrease,
"setSkillIncrease", &Player::setSkillIncrease,
"getClass", &Player::getCharClass,
"getSettings", &Player::getSettings,
"getBooks", &Player::getBooks,
"getGUI", &Player::getGUI,
"getDialogue", &Player::getDialogue,
"getFactions", &Player::getFactions,
"getQuests", &Player::getQuests,
"getSpells", &Player::getSpells,
"getQuickKeys", &Player::getQuickKeys,
"getWeatherMgr", &Player::getWeatherMgr,
"getMark", &Player::getMark,
"setMark", &Player::setMark,
"getSelectedSpell", &Player::getSelectedSpell,
"setSelectedSpell", &Player::setSelectedSpell,
"cellStateSize", &Player::cellStateSize,
"getCellState", &Player::getCellState,
"setAuthority", &Player::setAuthority,
"storedData", &Player::storedData,
"customData", &Player::customData,
"markedForDeletion", sol::property(&Player::isMarkedForDeletion)
);
lua.getState()->new_enum("ChannelAction",
"createChannel", 0,
"joinChannel", 1,
"closeChannel", 2,
//.........这里部分代码省略.........