Sdk/LuaAPI: Add Ndk::Entity* handling for parameters

This commit is contained in:
Jérôme Leclercq 2017-10-16 11:57:38 +02:00
parent b3f3d16f13
commit 10a92dcb18
1 changed files with 14 additions and 1 deletions

View File

@ -308,9 +308,22 @@ namespace Nz
return ret; return ret;
} }
inline unsigned int LuaImplQueryArg(const LuaState& state, int index, Ndk::Entity** handle, TypeTag<Ndk::Entity*>)
{
if (!state.IsOfType(index, LuaType_Nil))
*handle = *static_cast<Ndk::EntityHandle*>(state.CheckUserdata(index, "Entity"));
else
*handle = nullptr;
return 1;
}
inline unsigned int LuaImplQueryArg(const LuaState& state, int index, Ndk::EntityHandle* handle, TypeTag<Ndk::EntityHandle>) inline unsigned int LuaImplQueryArg(const LuaState& state, int index, Ndk::EntityHandle* handle, TypeTag<Ndk::EntityHandle>)
{ {
*handle = *static_cast<Ndk::EntityHandle*>(state.CheckUserdata(index, "Entity")); if (!state.IsOfType(index, LuaType_Nil))
*handle = *static_cast<Ndk::EntityHandle*>(state.CheckUserdata(index, "Entity"));
else
handle->Reset();
return 1; return 1;
} }