Sdk/Lua: Bind SpriteLibrary

This commit is contained in:
Lynix 2016-10-21 17:32:40 +02:00
parent 511ded215b
commit 034f5cc8d7
4 changed files with 41 additions and 0 deletions

View File

@ -625,6 +625,22 @@ namespace Nz
return 1;
}
/*!
* \brief Queries arguments for Lua
* \return 1 in case of success
*
* \param instance Lua instance to interact with
* \param index Index type
* \param renderable Resulting reference to a sprite
*/
inline unsigned int LuaImplQueryArg(const LuaInstance& instance, int index, SpriteRef* spriteRef, TypeTag<SpriteRef>)
{
*spriteRef = *static_cast<SpriteRef*>(instance.CheckUserdata(index, "Sprite"));
return 1;
}
/*!
* \brief Queries arguments for Lua
* \return 1 in case of success
@ -1033,6 +1049,20 @@ namespace Nz
return 1;
}
/*!
* \brief Replies by value for Lua
* \return 1 in case of success
*
* \param instance Lua instance to interact with
* \param handle Resulting sprite
*/
inline int LuaImplReplyVal(const LuaInstance& instance, SpriteRef&& handle, TypeTag<SpriteRef>)
{
instance.PushInstance<SpriteRef>("Sprite", handle);
return 1;
}
/*!
* \brief Replies by value for Lua
* \return 1 in case of success

View File

@ -78,6 +78,7 @@ namespace Ndk
Nz::LuaClass<Nz::InstancedRenderableRef> instancedRenderable;
Nz::LuaClass<Nz::ModelRef> model;
Nz::LuaClass<Nz::SpriteRef> sprite;
Nz::LuaClass<Nz::SpriteLibrary> spriteLibrary;
// Renderer
Nz::LuaClass<Nz::TextureRef> texture;

View File

@ -58,6 +58,7 @@ namespace Ndk
instancedRenderable("InstancedRenderable"),
model("Model"),
sprite("Sprite"),
spriteLibrary("SpriteLibrary"),
// Renderer
texture("Texture"),

View File

@ -71,6 +71,14 @@ namespace Ndk
sprite.BindMethod("SetTexture", &Nz::Sprite::SetTexture, true);
sprite.BindMethod("SetTextureCoords", &Nz::Sprite::SetTextureCoords);
sprite.BindMethod("SetTextureRect", &Nz::Sprite::SetTextureRect);
/*********************************** Nz::SpriteLibrary ***********************************/
spriteLibrary.BindStaticMethod("Get", &Nz::SpriteLibrary::Get);
spriteLibrary.BindStaticMethod("Has", &Nz::SpriteLibrary::Has);
spriteLibrary.BindStaticMethod("Register", &Nz::SpriteLibrary::Register);
spriteLibrary.BindStaticMethod("Query", &Nz::SpriteLibrary::Query);
spriteLibrary.BindStaticMethod("Unregister", &Nz::SpriteLibrary::Unregister);
}
/*!
@ -84,5 +92,6 @@ namespace Ndk
instancedRenderable.Register(instance);
model.Register(instance);
sprite.Register(instance);
spriteLibrary.Register(instance);
}
}