diff --git a/src/ui/FrameScript.cpp b/src/ui/FrameScript.cpp index 0bdc56d..2945dcc 100644 --- a/src/ui/FrameScript.cpp +++ b/src/ui/FrameScript.cpp @@ -1047,6 +1047,15 @@ const char* FrameScript_Sprintf(lua_State* L, int32_t idx, char buffer[], uint32 return buffer; } +void FrameScript_UnregisterFunction(char const* name) { + auto L = FrameScript::s_context; + + lua_pushnil(L); + lua_pushstring(L, name); + lua_insert(L, -2); + lua_rawset(L, LUA_GLOBALSINDEX); +} + void FrameScript_UnregisterScriptEvent(FrameScript_Object* object, FrameScript_EventObject* event) { if (event->pendingSignalCount) { auto node = event->unregisterListeners.Head(); diff --git a/src/ui/FrameScript.hpp b/src/ui/FrameScript.hpp index 8685e26..c84f30a 100644 --- a/src/ui/FrameScript.hpp +++ b/src/ui/FrameScript.hpp @@ -99,6 +99,8 @@ void FrameScript_SignalEvent(uint32_t index, const char* format, ...); const char* FrameScript_Sprintf(lua_State* L, int32_t idx, char buffer[], uint32_t bufferLen); +void FrameScript_UnregisterFunction(char const* name); + void FrameScript_UnregisterScriptEvent(FrameScript_Object* object, FrameScript_EventObject* event); void ScriptEventsInitialize();