Lua/LuaInstance: Move library initializations to LoadLibraries

This commit is contained in:
Lynix
2018-01-20 14:20:46 +01:00
parent b6bbf82d97
commit 5380b6a41b
5 changed files with 75 additions and 1 deletions

View File

@@ -7,6 +7,8 @@
#ifndef NAZARA_ENUMS_LUA_HPP
#define NAZARA_ENUMS_LUA_HPP
#include <Nazara/Core/Flags.hpp>
namespace Nz
{
enum LuaBindMode
@@ -26,6 +28,21 @@ namespace Nz
LuaComparison_Max = LuaComparison_LessOrEqual
};
enum LuaLib
{
LuaLib_Coroutine,
LuaLib_Debug,
LuaLib_Math,
LuaLib_Io,
LuaLib_Package,
LuaLib_Os,
LuaLib_String,
LuaLib_Table,
LuaLib_Utf8,
LuaLib_Max = LuaLib_Utf8
};
enum LuaOperation
{
LuaOperation_Addition,
@@ -61,6 +78,16 @@ namespace Nz
LuaType_Max = LuaType_Userdata
};
template<>
struct EnumAsFlags<LuaLib>
{
static constexpr LuaLib max = LuaLib_Max;
};
using LuaLibFlags = Flags<LuaLib>;
constexpr LuaLibFlags LuaLib_All = LuaLibFlags(LuaLibFlags::ValueMask);
}
#endif // NAZARA_ENUMS_LUA_HPP

View File

@@ -9,6 +9,7 @@
#include <Nazara/Prerequisites.hpp>
#include <Nazara/Core/Clock.hpp>
#include <Nazara/Lua/Enums.hpp>
#include <Nazara/Lua/LuaState.hpp>
#include <cstddef>
@@ -29,6 +30,8 @@ namespace Nz
inline std::size_t GetMemoryUsage() const;
inline UInt32 GetTimeLimit() const;
void LoadLibraries(LuaLibFlags libFlags = LuaLib_All);
inline void SetMemoryLimit(std::size_t memoryLimit);
inline void SetTimeLimit(UInt32 limit);