From 138d3f4d3d6e2aaf5ba34f89af15ef85ea074357 Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 8 Nov 2021 09:23:38 +0800 Subject: *misc --- Editor/Scripting/EditorGUI/ContainerWindow.bind.cpp | 10 ++-------- Editor/Scripting/EditorGUI/EditorGUI.bind.cpp | 13 +++++++++++++ Editor/Scripting/EditorGUI/GUIWindow.bind.cpp | 17 +++++++---------- 3 files changed, 22 insertions(+), 18 deletions(-) (limited to 'Editor/Scripting') diff --git a/Editor/Scripting/EditorGUI/ContainerWindow.bind.cpp b/Editor/Scripting/EditorGUI/ContainerWindow.bind.cpp index 0269b72..6c73116 100644 --- a/Editor/Scripting/EditorGUI/ContainerWindow.bind.cpp +++ b/Editor/Scripting/EditorGUI/ContainerWindow.bind.cpp @@ -1,6 +1,8 @@ #include "Editor/GUI/EditorWindows.h" #include "Runtime/Math/Math.h" +using namespace LuaBind; + LUA_BIND_REGISTRY(ContainerWindow) { LUA_BIND_REGISTER_METHODS(state, @@ -13,14 +15,6 @@ LUA_BIND_REGISTRY(ContainerWindow) LUA_BIND_POSTPROCESS(ContainerWindow) { - LUA_BIND_REGISTER_ENUM(state, "EShowMode", - { "NormalWindow", ShowMode::kShowNormalWindow }, - { "ShowPopupMenu", ShowMode::kShowPopupMenu }, - { "Utility ", ShowMode::kShowUtility }, - { "NoShadow", ShowMode::kShowNoShadow }, - { "MainWindow", ShowMode::kShowMainWindow }, - { "AuxWindow", ShowMode::kShowAuxWindow } - ); } LUA_BIND_IMPL_METHOD(ContainerWindow, _SetTitle) diff --git a/Editor/Scripting/EditorGUI/EditorGUI.bind.cpp b/Editor/Scripting/EditorGUI/EditorGUI.bind.cpp index bd21f7d..ed26604 100644 --- a/Editor/Scripting/EditorGUI/EditorGUI.bind.cpp +++ b/Editor/Scripting/EditorGUI/EditorGUI.bind.cpp @@ -11,6 +11,8 @@ #include "Runtime/GUI/TextMeshGenerator.h" #include "Runtime/Utilities/AutoInvoke.h" +using namespace LuaBind; + static std::vector* s_Codepoints; InitializeStaticVariables([]() { @@ -96,8 +98,19 @@ int luaopen_GameLab_Editor_GUI(lua_State* L) state.PushNamespace("Editor"); state.PushNamespace("GUI"); + state.PushNamespace("Internal"); state.RegisterNativeClass(); state.RegisterNativeClass(); + state.PopNamespace(); + + LUA_BIND_REGISTER_ENUM(state, "EShowMode", + { "NormalWindow", ContainerWindow::kShowNormalWindow }, + { "ShowPopupMenu", ContainerWindow::kShowPopupMenu }, + { "Utility ", ContainerWindow::kShowUtility }, + { "NoShadow", ContainerWindow::kShowNoShadow }, + { "MainWindow", ContainerWindow::kShowMainWindow }, + { "AuxWindow", ContainerWindow::kShowAuxWindow } + ); state.RegisterMethods(guiFuncs); diff --git a/Editor/Scripting/EditorGUI/GUIWindow.bind.cpp b/Editor/Scripting/EditorGUI/GUIWindow.bind.cpp index dbb26f4..212cb50 100644 --- a/Editor/Scripting/EditorGUI/GUIWindow.bind.cpp +++ b/Editor/Scripting/EditorGUI/GUIWindow.bind.cpp @@ -8,7 +8,6 @@ LUA_BIND_REGISTRY(GUIWindow) { "Focus", _Focus }, { "SetContainerWindow", _SetContainerWindow }, { "SetPosition", _SetPosition }, - { "SetInstance", _SetInstance}, { "New", _New } ); } @@ -17,11 +16,17 @@ LUA_BIND_POSTPROCESS(GUIWindow) { } +// GUIWindow.New([script]) LUA_BIND_IMPL_METHOD(GUIWindow, _New) { LUA_BIND_STATE(L, GUIWindow); + LUA_BIND_CHECK(L, "T"); + GUIWindow* wnd = new GUIWindow(state.GetVM()); - wnd->Init(); + + if (LuaHelper::IsType(state, "GameLab.Editor.GUI.GUIWindow", -1)) + wnd->SetMemberRef(state, wnd->m_Script, -1); + wnd->PushUserdata(state); return 1; } @@ -48,14 +53,6 @@ LUA_BIND_IMPL_METHOD(GUIWindow, _SetContainerWindow) return 0; } -// SetInstance(self, editorWindow) -LUA_BIND_IMPL_METHOD(GUIWindow, _SetInstance) -{ - LUA_BIND_PREPARE(L, GUIWindow); - self->SetMemberRef(state,self->m_Script, -1); - return 0; -} - // GUIWindow.SetPosition(self, {x, y, width, height}) LUA_BIND_IMPL_METHOD(GUIWindow, _SetPosition) { -- cgit v1.1-26-g67d0