Lua/LuaClass: Add Reset method and default constructor

This commit is contained in:
Lynix 2016-10-19 22:48:46 +02:00
parent f3e1b19326
commit baf4cb0e16
2 changed files with 20 additions and 3 deletions

View File

@ -34,6 +34,7 @@ namespace Nz
using StaticIndexFunc = std::function<bool(LuaInstance& lua)>;
using StaticFunc = std::function<int(LuaInstance& lua)>;
LuaClass() = default;
LuaClass(const String& name);
void BindDefaultConstructor();
@ -50,6 +51,9 @@ namespace Nz
template<class P> void Inherit(LuaClass<P>& parent);
template<class P> void Inherit(LuaClass<P>& parent, ConvertToParent<P> convertFunc);
void Reset();
void Reset(const String& name);
void Register(LuaInstance& lua);
void PushGlobalTable(LuaInstance& lua);

View File

@ -10,10 +10,9 @@
namespace Nz
{
template<class T>
LuaClass<T>::LuaClass(const String& name) :
m_info(new ClassInfo)
LuaClass<T>::LuaClass(const String& name)
{
m_info->name = name;
Reset(name);
}
template<class T>
@ -58,6 +57,20 @@ namespace Nz
});
}
template<class T>
void LuaClass<T>::Reset()
{
m_info.reset();
}
template<class T>
void LuaClass<T>::Reset(const String& name)
{
m_info = std::make_shared<ClassInfo>();
m_info->name = name;
}
template<class T>
void LuaClass<T>::Register(LuaInstance& lua)
{