rdeioris/LuaMachine

Assigning a metatable to _G

Opened this issue · 2 comments

It would be awesome to have a similar logic as ULuaUserDataObject::ReceiveLuaMetaIndex(Key) and ULuaUserDataObject::ReceiveLuaMetaNewIndex(Key, Value), but for ULuaState so you would be able to intercept whenever the global table tries to access a field that does not exist etc.

The goal for me is to intercept simple code lite this:
ULuaBlueprintFunctionLibrary::LuaRunString(GetWorld(), URCLuaReflectionState::StaticClass(),"Foo");
and be able to return a dynamic FLuaValue based on the Key:"Foo" from a C++ callback.

Issue opened after discussion on discord:
Screenshot 2023-05-10 181553

Adding the metatable as you described workes for "Foo.Bar", "Bar = Foo".
However, it does not trigger for only "Foo" (expected behaviour?)
image