lua binders updated + renderable2dcomponent binding
This commit is contained in:
@@ -1,9 +1,12 @@
|
||||
#include "MainComponent_BindLua.h"
|
||||
#include "Renderable3DComponent_BindLua.h"
|
||||
#include "Renderable2DComponent_BindLua.h"
|
||||
#include "wiResourceManager_BindLua.h"
|
||||
|
||||
const char MainComponent_BindLua::className[] = "MainComponent";
|
||||
|
||||
Luna<MainComponent_BindLua>::FunctionType MainComponent_BindLua::methods[] = {
|
||||
lunamethod(MainComponent_BindLua, GetContent),
|
||||
lunamethod(MainComponent_BindLua, GetActiveComponent),
|
||||
lunamethod(MainComponent_BindLua, SetActiveComponent),
|
||||
lunamethod(MainComponent_BindLua, SetFrameSkip),
|
||||
@@ -26,16 +29,35 @@ MainComponent_BindLua::~MainComponent_BindLua()
|
||||
{
|
||||
}
|
||||
|
||||
int MainComponent_BindLua::GetContent(lua_State *L)
|
||||
{
|
||||
if (component == nullptr)
|
||||
{
|
||||
wiLua::SError(L, "GetContent() component is empty!");
|
||||
return 0;
|
||||
}
|
||||
Luna<wiResourceManager_BindLua>::push(L, new wiResourceManager_BindLua(&component->Content));
|
||||
return 1;
|
||||
}
|
||||
int MainComponent_BindLua::GetActiveComponent(lua_State *L)
|
||||
{
|
||||
Renderable3DComponent* comp = dynamic_cast<Renderable3DComponent*>(component->getActiveComponent());
|
||||
if (comp != nullptr)
|
||||
//return 3d component if the active one is of that type
|
||||
Renderable3DComponent* comp3D = dynamic_cast<Renderable3DComponent*>(component->getActiveComponent());
|
||||
if (comp3D != nullptr)
|
||||
{
|
||||
Luna<Renderable3DComponent_BindLua>::push(L, new Renderable3DComponent_BindLua(comp));
|
||||
Luna<Renderable3DComponent_BindLua>::push(L, new Renderable3DComponent_BindLua(comp3D));
|
||||
return 1;
|
||||
}
|
||||
|
||||
wiLua::SError(L, "GetActiveComponent() Warning: type of active component not registered with lua!");
|
||||
//return 2d component if the active one is of that type
|
||||
Renderable2DComponent* comp2D = dynamic_cast<Renderable2DComponent*>(component->getActiveComponent());
|
||||
if (comp2D != nullptr)
|
||||
{
|
||||
Luna<Renderable2DComponent_BindLua>::push(L, new Renderable2DComponent_BindLua(comp2D));
|
||||
return 1;
|
||||
}
|
||||
|
||||
wiLua::SError(L, "GetActiveComponent() Warning: type of active component not registered!");
|
||||
return 0;
|
||||
}
|
||||
int MainComponent_BindLua::SetActiveComponent(lua_State *L)
|
||||
|
||||
@@ -16,6 +16,7 @@ public:
|
||||
MainComponent_BindLua(lua_State *L);
|
||||
~MainComponent_BindLua();
|
||||
|
||||
int GetContent(lua_State *L);
|
||||
int GetActiveComponent(lua_State *L);
|
||||
int SetActiveComponent(lua_State *L);
|
||||
int SetFrameSkip(lua_State *L);
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
#include "Renderable2DComponent.h"
|
||||
#include "wiResourceManager.h"
|
||||
#include "wiSprite.h"
|
||||
#include "Renderable2DComponent_BindLua.h"
|
||||
|
||||
Renderable2DComponent::Renderable2DComponent()
|
||||
{
|
||||
setSpriteSpeed(1.f);
|
||||
m_sprites.clear();
|
||||
|
||||
Renderable2DComponent_BindLua::Bind();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
#include "Renderable2DComponent_BindLua.h"
|
||||
#include "wiResourceManager_BindLua.h"
|
||||
|
||||
const char Renderable2DComponent_BindLua::className[] = "Renderable2DComponent";
|
||||
|
||||
Luna<Renderable2DComponent_BindLua>::FunctionType Renderable2DComponent_BindLua::methods[] = {
|
||||
lunamethod(Renderable2DComponent_BindLua, GetContent),
|
||||
lunamethod(Renderable2DComponent_BindLua, AddSprite),
|
||||
{ NULL, NULL }
|
||||
};
|
||||
Luna<Renderable2DComponent_BindLua>::PropertyType Renderable2DComponent_BindLua::properties[] = {
|
||||
{ NULL, NULL }
|
||||
};
|
||||
|
||||
Renderable2DComponent_BindLua::Renderable2DComponent_BindLua(Renderable2DComponent* component) :component(component)
|
||||
{
|
||||
}
|
||||
|
||||
Renderable2DComponent_BindLua::Renderable2DComponent_BindLua(lua_State *L)
|
||||
{
|
||||
component = new Renderable2DComponent();
|
||||
}
|
||||
|
||||
|
||||
Renderable2DComponent_BindLua::~Renderable2DComponent_BindLua()
|
||||
{
|
||||
}
|
||||
|
||||
int Renderable2DComponent_BindLua::GetContent(lua_State *L)
|
||||
{
|
||||
if (component == nullptr)
|
||||
{
|
||||
wiLua::SError(L, "GetContent() component is empty!");
|
||||
return 0;
|
||||
}
|
||||
Luna<wiResourceManager_BindLua>::push(L, new wiResourceManager_BindLua(&component->Content));
|
||||
return 1;
|
||||
}
|
||||
|
||||
int Renderable2DComponent_BindLua::AddSprite(lua_State *L)
|
||||
{
|
||||
int argc = wiLua::SGetArgCount(L);
|
||||
if (argc > 1)
|
||||
{
|
||||
//TODO
|
||||
}
|
||||
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());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
#pragma once
|
||||
#include "wiLua.h"
|
||||
#include "wiLuna.h"
|
||||
#include "Renderable2DComponent.h"
|
||||
|
||||
class Renderable2DComponent_BindLua
|
||||
{
|
||||
private:
|
||||
Renderable2DComponent* component;
|
||||
public:
|
||||
static const char className[];
|
||||
static Luna<Renderable2DComponent_BindLua>::FunctionType methods[];
|
||||
static Luna<Renderable2DComponent_BindLua>::PropertyType properties[];
|
||||
|
||||
Renderable2DComponent_BindLua(Renderable2DComponent* component = nullptr);
|
||||
Renderable2DComponent_BindLua(lua_State *L);
|
||||
~Renderable2DComponent_BindLua();
|
||||
|
||||
int GetContent(lua_State *L);
|
||||
int AddSprite(lua_State *L);
|
||||
|
||||
static void Bind();
|
||||
};
|
||||
|
||||
@@ -26,6 +26,11 @@ Renderable3DComponent_BindLua::~Renderable3DComponent_BindLua()
|
||||
|
||||
int Renderable3DComponent_BindLua::GetContent(lua_State *L)
|
||||
{
|
||||
if (component == nullptr)
|
||||
{
|
||||
wiLua::SError(L, "GetContent() component is empty!");
|
||||
return 0;
|
||||
}
|
||||
Luna<wiResourceManager_BindLua>::push(L, new wiResourceManager_BindLua(&component->Content));
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -212,6 +212,7 @@
|
||||
<ClCompile Include="LoadingScreenComponent.cpp" />
|
||||
<ClCompile Include="MainComponent_BindLua.cpp" />
|
||||
<ClCompile Include="Renderable2DComponent.cpp" />
|
||||
<ClCompile Include="Renderable2DComponent_BindLua.cpp" />
|
||||
<ClCompile Include="Renderable3DComponent_BindLua.cpp" />
|
||||
<ClCompile Include="wiBackLog.cpp" />
|
||||
<ClCompile Include="wiBULLET.cpp" />
|
||||
@@ -411,6 +412,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="MainComponent_BindLua.h" />
|
||||
<ClInclude Include="Renderable2DComponent_BindLua.h" />
|
||||
<ClInclude Include="Renderable3DComponent_BindLua.h" />
|
||||
<ClInclude Include="wiLuna.h" />
|
||||
<ClInclude Include="wiRenderer_BindLua.h" />
|
||||
|
||||
@@ -752,6 +752,9 @@
|
||||
<ClCompile Include="MainComponent_BindLua.cpp">
|
||||
<Filter>ScriptBinders</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Renderable2DComponent_BindLua.cpp">
|
||||
<Filter>ScriptBinders</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="typelib.h">
|
||||
@@ -1675,6 +1678,9 @@
|
||||
<ClInclude Include="MainComponent_BindLua.h">
|
||||
<Filter>ScriptBinders</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Renderable2DComponent_BindLua.h">
|
||||
<Filter>ScriptBinders</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\io_export_wicked_wi_bin.py" />
|
||||
|
||||
@@ -103,7 +103,6 @@ int wiResourceManager_BindLua::Del(lua_State *L)
|
||||
int wiResourceManager_BindLua::List(lua_State *L)
|
||||
{
|
||||
stringstream ss("");
|
||||
ss << "Resources of: " << wiLua::SGetString(L, 1) << endl;
|
||||
for (auto& x : resources->resources)
|
||||
{
|
||||
ss << x.first << endl;
|
||||
|
||||
Reference in New Issue
Block a user