hacking shenanigans, episode 17
hacking shenanigans, episode 17.
The idea here is that we need to be able to refer to a property by name from Lua without dereferencing it, and pass that reference through to C++, which then can dereference it.
This infrastructure is required for (among other things) Lua to be able to bind an attribute to a UI widget and be updated automatically without needing to call out to Lua to make the change by calling back into C++. Thus preserving our “what, not how” philosophy for scripting (good for scripter understanding and for protecting ourselves from craziness), as well as being good for performance (not round-tripping through Lua multiple times per frame is always a good thing).
https://github.com/robn/pioneer/blob/object-properties/src/PropertyHolder.h