lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


In my game engine, I register certain methods to Lua in a table so that they
can be called by my scripts. For instance, I may push a method called
'TestMethod' to the global table variable 'this'. So for instance, the user
can do this:

this:TestMethod();

My mechanism for doing this works perfect.

What I want to know is, is there a way to protect those variables so that
they cannot be reset by a user. For instance, I do not want them to be able
to do this:

this = {} or this.TestMethod = function() end

Is this possible?

Also, when invoking a C method that is a member of a table with the ':'
operator, is 'self' still passed as the first argument? Or is that only
passed to table functions written in Lua?

Thanks,

Matt