本文整理汇总了C++中StarSystem::ExportToLua方法的典型用法代码示例。如果您正苦于以下问题:C++ StarSystem::ExportToLua方法的具体用法?C++ StarSystem::ExportToLua怎么用?C++ StarSystem::ExportToLua使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StarSystem
的用法示例。
在下文中一共展示了StarSystem::ExportToLua方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: l_starsystem_export_to_lua
/*
* Method: ExportToLua
*
* Export of generated system for personal interest, customisation, etc
*
* Availability:
*
* alpha 33
*
* Status:
*
* experimental
*/
static int l_starsystem_export_to_lua(lua_State *l)
{
PROFILE_SCOPED()
LUA_DEBUG_START(l);
StarSystem *s = LuaObject<StarSystem>::CheckFromLua(1);
static const std::string EXPORTED_SYSTEMS_DIR_NAME("exported_systems");
if (!FileSystem::userFiles.MakeDirectory(EXPORTED_SYSTEMS_DIR_NAME)) {
throw CouldNotOpenFileException();
}
// construct the filename with folder and extension
try {
const std::string filename(EXPORTED_SYSTEMS_DIR_NAME + "/" + FileSystem::SanitiseFileName(s->GetName()) + ".lua");
const std::string finalPath = FileSystem::NormalisePath(
FileSystem::JoinPathBelow(FileSystem::GetUserDir(), filename));
s->ExportToLua(finalPath.c_str());
} catch (std::invalid_argument &) {
return luaL_error(l, "could not export system -- name forms an invalid path");
}
LUA_DEBUG_END(l, 0);
return 0;
}