diff --git a/SDK/include/NDK/LuaAPI.inl b/SDK/include/NDK/LuaAPI.inl index 7380e38e3..d11c3982e 100644 --- a/SDK/include/NDK/LuaAPI.inl +++ b/SDK/include/NDK/LuaAPI.inl @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -16,6 +17,7 @@ #ifndef NDK_SERVER #include #include +#include #endif namespace Nz @@ -315,6 +317,12 @@ namespace Nz return 1; } + inline int LuaImplReplyVal(const LuaInstance& instance, Ndk::Application* ptr, TypeTag) + { + instance.PushInstance("Application", ptr); + return 1; + } + inline int LuaImplReplyVal(const LuaInstance& instance, Ndk::EntityHandle handle, TypeTag) { instance.PushInstance("Entity", handle); @@ -327,6 +335,12 @@ namespace Nz return 1; } + inline int LuaImplReplyVal(const LuaInstance& instance, Ndk::VelocityComponentHandle handle, TypeTag) + { + instance.PushInstance("VelocityComponent", handle); + return 1; + } + inline int LuaImplReplyVal(const LuaInstance& instance, Ndk::World* ptr, TypeTag) { instance.PushInstance("World", ptr); @@ -340,6 +354,12 @@ namespace Nz } #ifndef NDK_SERVER + inline int LuaImplReplyVal(const LuaInstance& instance, Ndk::ConsoleHandle handle, TypeTag) + { + instance.PushInstance("Console", handle); + return 1; + } + inline int LuaImplReplyVal(const LuaInstance& instance, Ndk::GraphicsComponentHandle handle, TypeTag) { instance.PushInstance("GraphicsComponent", handle); diff --git a/SDK/src/NDK/LuaBinding.cpp b/SDK/src/NDK/LuaBinding.cpp index 0c2766ca7..9af6aab40 100644 --- a/SDK/src/NDK/LuaBinding.cpp +++ b/SDK/src/NDK/LuaBinding.cpp @@ -43,6 +43,7 @@ namespace Ndk modelClass("Model"), // SDK + consoleClass("Console"), graphicsComponent("GraphicsComponent") #endif { diff --git a/SDK/src/NDK/LuaBinding.hpp b/SDK/src/NDK/LuaBinding.hpp index c8dda3c2f..2bb01421f 100644 --- a/SDK/src/NDK/LuaBinding.hpp +++ b/SDK/src/NDK/LuaBinding.hpp @@ -106,6 +106,7 @@ namespace Ndk Nz::LuaClass modelClass; // SDK + Nz::LuaClass consoleClass; Nz::LuaClass graphicsComponent; #endif }; diff --git a/SDK/src/NDK/LuaBinding_SDK.cpp b/SDK/src/NDK/LuaBinding_SDK.cpp index bb8ec3475..15e81b63b 100644 --- a/SDK/src/NDK/LuaBinding_SDK.cpp +++ b/SDK/src/NDK/LuaBinding_SDK.cpp @@ -44,12 +44,34 @@ namespace Ndk void LuaBinding::BindSDK() { - /*********************************** Ndk::NodeComponent **********************************/ - nodeComponent.Inherit(nodeClass, [] (NodeComponentHandle* handle) -> Nz::Node* + + /*********************************** Ndk::Console **********************************/ + consoleClass.Inherit(nodeClass, [] (ConsoleHandle* handle) -> Nz::Node* { return handle->GetObject(); }); + consoleClass.SetMethod("AddLine", &Console::AddLine, Nz::Color::White); + consoleClass.SetMethod("Clear", &Console::Clear); + consoleClass.SetMethod("GetCharacterSize", &Console::GetCharacterSize); + consoleClass.SetMethod("GetHistory", &Console::GetHistory); + consoleClass.SetMethod("GetHistoryBackground", &Console::GetHistoryBackground); + consoleClass.SetMethod("GetInput", &Console::GetInput); + consoleClass.SetMethod("GetInputBackground", &Console::GetInputBackground); + consoleClass.SetMethod("GetSize", &Console::GetSize); + //consoleClass.SetMethod("GetTextFont", &Console::GetTextFont); + + consoleClass.SetMethod("IsVisible", &Console::IsVisible); + + consoleClass.SetMethod("SendCharacter", &Console::SendCharacter); + //consoleClass.SetMethod("SendEvent", &Console::SendEvent); + + consoleClass.SetMethod("SetCharacterSize", &Console::SetCharacterSize); + consoleClass.SetMethod("SetSize", &Console::SetSize); + //consoleClass.SetMethod("SetTextFont", &Console::SetTextFont); + + consoleClass.SetMethod("Show", &Console::Show, true); + /*********************************** Ndk::Entity **********************************/ entityClass.SetMethod("Enable", &Entity::Enable); entityClass.SetMethod("GetId", &Entity::GetId); @@ -109,6 +131,12 @@ namespace Ndk return binding.getter(lua, handle->GetComponent(componentIndex)); }); + /*********************************** Ndk::NodeComponent **********************************/ + nodeComponent.Inherit(nodeClass, [] (NodeComponentHandle* handle) -> Nz::Node* + { + return handle->GetObject(); + }); + /*********************************** Ndk::World **********************************/ worldClass.SetMethod("CreateEntity", &World::CreateEntity); worldClass.SetMethod("CreateEntities", &World::CreateEntities); @@ -152,6 +180,7 @@ namespace Ndk worldClass.Register(instance); #ifndef NDK_SERVER + consoleClass.Register(instance); graphicsComponent.Register(instance); #endif