diff --git a/WickedEngine/DeferredRenderableComponent.cpp b/WickedEngine/DeferredRenderableComponent.cpp index 451bd11f3..cadb3dc33 100644 --- a/WickedEngine/DeferredRenderableComponent.cpp +++ b/WickedEngine/DeferredRenderableComponent.cpp @@ -6,6 +6,7 @@ #include "wiStencilRef.h" #include "wiHelper.h" #include "wiTextureHelper.h" +#include "DeferredRenderableComponent_BindLua.h" DeferredRenderableComponent::DeferredRenderableComponent(){ Renderable3DComponent::setProperties(); @@ -14,6 +15,8 @@ DeferredRenderableComponent::DeferredRenderableComponent(){ setSSAOEnabled(true); setPreferredThreadingCount(0); + + DeferredRenderableComponent_BindLua::Bind(); } DeferredRenderableComponent::~DeferredRenderableComponent(){ } diff --git a/WickedEngine/DeferredRenderableComponent_BindLua.cpp b/WickedEngine/DeferredRenderableComponent_BindLua.cpp new file mode 100644 index 000000000..92019d78b --- /dev/null +++ b/WickedEngine/DeferredRenderableComponent_BindLua.cpp @@ -0,0 +1,36 @@ +#include "DeferredRenderableComponent_BindLua.h" + +const char DeferredRenderableComponent_BindLua::className[] = "DeferredRenderableComponent"; + +Luna::FunctionType DeferredRenderableComponent_BindLua::methods[] = { + lunamethod(DeferredRenderableComponent_BindLua, GetContent), + { NULL, NULL } +}; +Luna::PropertyType DeferredRenderableComponent_BindLua::properties[] = { + { NULL, NULL } +}; + +DeferredRenderableComponent_BindLua::DeferredRenderableComponent_BindLua(DeferredRenderableComponent* component) +{ + this->component = component; +} + +DeferredRenderableComponent_BindLua::DeferredRenderableComponent_BindLua(lua_State *L) +{ + component = new DeferredRenderableComponent(); +} + + +DeferredRenderableComponent_BindLua::~DeferredRenderableComponent_BindLua() +{ +} + +void DeferredRenderableComponent_BindLua::Bind() +{ + static bool initialized = false; + if (!initialized) + { + initialized = true; + Luna::Register(wiLua::GetGlobal()->GetLuaState()); + } +} diff --git a/WickedEngine/DeferredRenderableComponent_BindLua.h b/WickedEngine/DeferredRenderableComponent_BindLua.h new file mode 100644 index 000000000..ed822a6f6 --- /dev/null +++ b/WickedEngine/DeferredRenderableComponent_BindLua.h @@ -0,0 +1,19 @@ +#pragma once +#include "wiLua.h" +#include "wiLuna.h" +#include "DeferredRenderableComponent.h" +#include "Renderable3DComponent_BindLua.h" + +class DeferredRenderableComponent_BindLua : public Renderable3DComponent_BindLua +{ +public: + static const char className[]; + static Luna::FunctionType methods[]; + static Luna::PropertyType properties[]; + + DeferredRenderableComponent_BindLua(DeferredRenderableComponent* component = nullptr); + DeferredRenderableComponent_BindLua(lua_State *L); + ~DeferredRenderableComponent_BindLua(); + + static void Bind(); +}; diff --git a/WickedEngine/ForwardRenderableComponent.cpp b/WickedEngine/ForwardRenderableComponent.cpp index 383ea60f2..b05288475 100644 --- a/WickedEngine/ForwardRenderableComponent.cpp +++ b/WickedEngine/ForwardRenderableComponent.cpp @@ -5,6 +5,7 @@ #include "wiCamera.h" #include "wiStencilRef.h" #include "wiHelper.h" +#include "ForwardRenderableComponent_BindLua.h" ForwardRenderableComponent::ForwardRenderableComponent(){ Renderable3DComponent::setProperties(); @@ -14,6 +15,8 @@ ForwardRenderableComponent::ForwardRenderableComponent(){ setShadowsEnabled(false); setPreferredThreadingCount(0); + + ForwardRenderableComponent_BindLua::Bind(); } ForwardRenderableComponent::~ForwardRenderableComponent(){ } diff --git a/WickedEngine/ForwardRenderableComponent_BindLua.cpp b/WickedEngine/ForwardRenderableComponent_BindLua.cpp new file mode 100644 index 000000000..927246ea3 --- /dev/null +++ b/WickedEngine/ForwardRenderableComponent_BindLua.cpp @@ -0,0 +1,36 @@ +#include "ForwardRenderableComponent_BindLua.h" + +const char ForwardRenderableComponent_BindLua::className[] = "ForwardRenderableComponent"; + +Luna::FunctionType ForwardRenderableComponent_BindLua::methods[] = { + lunamethod(ForwardRenderableComponent_BindLua, GetContent), + { NULL, NULL } +}; +Luna::PropertyType ForwardRenderableComponent_BindLua::properties[] = { + { NULL, NULL } +}; + +ForwardRenderableComponent_BindLua::ForwardRenderableComponent_BindLua(ForwardRenderableComponent* component) +{ + this->component = component; +} + +ForwardRenderableComponent_BindLua::ForwardRenderableComponent_BindLua(lua_State *L) +{ + component = new ForwardRenderableComponent(); +} + + +ForwardRenderableComponent_BindLua::~ForwardRenderableComponent_BindLua() +{ +} + +void ForwardRenderableComponent_BindLua::Bind() +{ + static bool initialized = false; + if (!initialized) + { + initialized = true; + Luna::Register(wiLua::GetGlobal()->GetLuaState()); + } +} diff --git a/WickedEngine/ForwardRenderableComponent_BindLua.h b/WickedEngine/ForwardRenderableComponent_BindLua.h new file mode 100644 index 000000000..09d6489fd --- /dev/null +++ b/WickedEngine/ForwardRenderableComponent_BindLua.h @@ -0,0 +1,20 @@ +#pragma once +#include "wiLua.h" +#include "wiLuna.h" +#include "ForwardRenderableComponent.h" +#include "Renderable3DComponent_BindLua.h" + +class ForwardRenderableComponent_BindLua : public Renderable3DComponent_BindLua +{ +public: + static const char className[]; + static Luna::FunctionType methods[]; + static Luna::PropertyType properties[]; + + ForwardRenderableComponent_BindLua(ForwardRenderableComponent* component = nullptr); + ForwardRenderableComponent_BindLua(lua_State *L); + ~ForwardRenderableComponent_BindLua(); + + static void Bind(); +}; + diff --git a/WickedEngine/LoadingScreenComponent.cpp b/WickedEngine/LoadingScreenComponent.cpp index 5250e89d2..adb51115a 100644 --- a/WickedEngine/LoadingScreenComponent.cpp +++ b/WickedEngine/LoadingScreenComponent.cpp @@ -4,6 +4,7 @@ LoadingScreenComponent::LoadingScreenComponent() { + Renderable2DComponent::Renderable2DComponent(); loaders.clear(); finish = nullptr; LoadingScreenComponent_BindLua::Bind(); diff --git a/WickedEngine/LoadingScreenComponent.h b/WickedEngine/LoadingScreenComponent.h index 310421e12..1450359f4 100644 --- a/WickedEngine/LoadingScreenComponent.h +++ b/WickedEngine/LoadingScreenComponent.h @@ -1,9 +1,9 @@ #pragma once -#include "RenderableComponent.h" +#include "Renderable2DComponent.h" #include class LoadingScreenComponent : - public RenderableComponent + public Renderable2DComponent { private: struct LoaderTask diff --git a/WickedEngine/LoadingScreenComponent_BindLua.cpp b/WickedEngine/LoadingScreenComponent_BindLua.cpp index 73af91355..fcbb98c1b 100644 --- a/WickedEngine/LoadingScreenComponent_BindLua.cpp +++ b/WickedEngine/LoadingScreenComponent_BindLua.cpp @@ -1,5 +1,4 @@ #include "LoadingScreenComponent_BindLua.h" -#include "wiResourceManager_BindLua.h" const char LoadingScreenComponent_BindLua::className[] = "LoadingScreenComponent"; @@ -12,8 +11,9 @@ Luna::PropertyType LoadingScreenComponent_BindLu { NULL, NULL } }; -LoadingScreenComponent_BindLua::LoadingScreenComponent_BindLua(LoadingScreenComponent* component) :component(component) +LoadingScreenComponent_BindLua::LoadingScreenComponent_BindLua(LoadingScreenComponent* component) { + this->component = component; } LoadingScreenComponent_BindLua::LoadingScreenComponent_BindLua(lua_State *L) diff --git a/WickedEngine/LoadingScreenComponent_BindLua.h b/WickedEngine/LoadingScreenComponent_BindLua.h index bd3a31bba..e61babd3d 100644 --- a/WickedEngine/LoadingScreenComponent_BindLua.h +++ b/WickedEngine/LoadingScreenComponent_BindLua.h @@ -6,8 +6,6 @@ class LoadingScreenComponent_BindLua : public Renderable2DComponent_BindLua { -private: - LoadingScreenComponent* component; public: static const char className[]; static Luna::FunctionType methods[]; diff --git a/WickedEngine/Renderable2DComponent_BindLua.h b/WickedEngine/Renderable2DComponent_BindLua.h index 2220bac39..4a13092a8 100644 --- a/WickedEngine/Renderable2DComponent_BindLua.h +++ b/WickedEngine/Renderable2DComponent_BindLua.h @@ -5,7 +5,7 @@ class Renderable2DComponent_BindLua { -private: +protected: Renderable2DComponent* component; public: static const char className[]; diff --git a/WickedEngine/Renderable3DComponent_BindLua.h b/WickedEngine/Renderable3DComponent_BindLua.h index 39d1d4a58..3361be785 100644 --- a/WickedEngine/Renderable3DComponent_BindLua.h +++ b/WickedEngine/Renderable3DComponent_BindLua.h @@ -5,7 +5,7 @@ class Renderable3DComponent_BindLua { -private: +protected: Renderable3DComponent* component; public: static const char className[]; diff --git a/WickedEngine/WickedEngine.vcxproj b/WickedEngine/WickedEngine.vcxproj index 157e3e5a6..f727cf174 100644 --- a/WickedEngine/WickedEngine.vcxproj +++ b/WickedEngine/WickedEngine.vcxproj @@ -173,6 +173,8 @@ + + @@ -412,6 +414,8 @@ + + diff --git a/WickedEngine/WickedEngine.vcxproj.filters b/WickedEngine/WickedEngine.vcxproj.filters index ef5af4330..682328af4 100644 --- a/WickedEngine/WickedEngine.vcxproj.filters +++ b/WickedEngine/WickedEngine.vcxproj.filters @@ -758,6 +758,12 @@ ScriptBinders + + ScriptBinders + + + ScriptBinders + @@ -1687,6 +1693,12 @@ ScriptBinders + + ScriptBinders + + + ScriptBinders +