DisableGlobal_Tips.lua 653 B

12345678910111213141516171819202122232425
  1. local beginDefineGlobalCount = 0
  2. function DisableGlobal()
  3. setmetatable(_G, {
  4. __newindex = function(_, name, value)
  5. if beginDefineGlobalCount > 0 then
  6. rawset(_G, name, value)
  7. else
  8. error(string.format('Use "DefineGlobal("%s", value)" to define a global variable\n%s', name, debug.traceback("", 2)), 0)
  9. end
  10. end
  11. })
  12. end
  13. function DefineGlobal(name, value)
  14. rawset(_G, name, value)
  15. end
  16. function BeginDefineGlobal()
  17. beginDefineGlobalCount = beginDefineGlobalCount + 1
  18. end
  19. function EndDefineGlobal()
  20. beginDefineGlobalCount = beginDefineGlobalCount - 1
  21. end