updated lua bindings

This commit is contained in:
turanszkij
2015-08-07 12:45:18 +02:00
parent 1a4b03c296
commit a5a4d429a4
14 changed files with 390 additions and 37 deletions
+35
View File
@@ -1,11 +1,14 @@
#include "wiSprite_BindLua.h"
#include "wiImageEffects_BindLua.h"
#include "SpriteAnim_BindLua.h"
const char wiSprite_BindLua::className[] = "Sprite";
Luna<wiSprite_BindLua>::FunctionType wiSprite_BindLua::methods[] = {
lunamethod(wiSprite_BindLua, SetEffects),
lunamethod(wiSprite_BindLua, GetEffects),
lunamethod(wiSprite_BindLua, SetAnim),
lunamethod(wiSprite_BindLua, GetAnim),
{ NULL, NULL }
};
Luna<wiSprite_BindLua>::PropertyType wiSprite_BindLua::properties[] = {
@@ -72,6 +75,38 @@ int wiSprite_BindLua::GetEffects(lua_State *L)
Luna<wiImageEffects_BindLua>::push(L, new wiImageEffects_BindLua(sprite->effects));
return 1;
}
int wiSprite_BindLua::SetAnim(lua_State *L)
{
if (sprite == nullptr)
{
wiLua::SError(L, "SetAnim() sprite is null!");
return 0;
}
int argc = wiLua::SGetArgCount(L);
if (argc > 1)
{
SpriteAnim_BindLua* anim = Luna<SpriteAnim_BindLua>::check(L, 2);
if (anim != nullptr)
{
sprite->anim = anim->anim;
}
}
else
{
wiLua::SError(L, "SetAnim(SpriteAnim anim) not enough arguments!");
}
return 0;
}
int wiSprite_BindLua::GetAnim(lua_State *L)
{
if (sprite == nullptr)
{
wiLua::SError(L, "GetAnim() sprite is null!");
return 0;
}
Luna<SpriteAnim_BindLua>::push(L, new SpriteAnim_BindLua(sprite->anim));
return 1;
}
void wiSprite_BindLua::Bind()
{