Files
WickedEngine/WickedEngine/Renderable2DComponent_BindLua.cpp
T
2015-08-17 23:41:14 +02:00

78 lines
2.1 KiB
C++

#include "Renderable2DComponent_BindLua.h"
#include "wiResourceManager_BindLua.h"
#include "wiSprite_BindLua.h"
const char Renderable2DComponent_BindLua::className[] = "Renderable2DComponent";
Luna<Renderable2DComponent_BindLua>::FunctionType Renderable2DComponent_BindLua::methods[] = {
lunamethod(Renderable2DComponent_BindLua, GetContent),
lunamethod(Renderable2DComponent_BindLua, AddSprite),
lunamethod(Renderable2DComponent_BindLua, Initialize),
lunamethod(Renderable2DComponent_BindLua, Load),
lunamethod(Renderable2DComponent_BindLua, Unload),
lunamethod(Renderable2DComponent_BindLua, Start),
lunamethod(Renderable2DComponent_BindLua, Stop),
lunamethod(Renderable2DComponent_BindLua, Update),
lunamethod(Renderable2DComponent_BindLua, Render),
lunamethod(Renderable2DComponent_BindLua, Compose),
{ NULL, NULL }
};
Luna<Renderable2DComponent_BindLua>::PropertyType Renderable2DComponent_BindLua::properties[] = {
{ NULL, NULL }
};
Renderable2DComponent_BindLua::Renderable2DComponent_BindLua(Renderable2DComponent* component)
{
this->component = component;
}
Renderable2DComponent_BindLua::Renderable2DComponent_BindLua(lua_State *L)
{
component = new Renderable2DComponent();
}
Renderable2DComponent_BindLua::~Renderable2DComponent_BindLua()
{
}
int Renderable2DComponent_BindLua::AddSprite(lua_State *L)
{
if (component == nullptr)
{
wiLua::SError(L, "GetContent() component is empty!");
return 0;
}
int argc = wiLua::SGetArgCount(L);
if (argc > 1)
{
wiSprite_BindLua* sprite = Luna<wiSprite_BindLua>::check(L, 2);
if (sprite != nullptr)
{
Renderable2DComponent* ccomp = dynamic_cast<Renderable2DComponent*>(component);
if (ccomp != nullptr)
{
ccomp->addSprite(sprite->sprite);
}
else
{
wiLua::SError(L, "AddSprite(Sprite sprite) not a Renderable2DComponent!");
}
}
}
else
{
wiLua::SError(L, "AddSprite(Sprite sprite) not enough arguments!");
}
return 0;
}
void Renderable2DComponent_BindLua::Bind()
{
static bool initialized = false;
if (!initialized)
{
initialized = true;
Luna<Renderable2DComponent_BindLua>::Register(wiLua::GetGlobal()->GetLuaState());
}
}