Files
integration/luprex/syscpp/globaldb.hpp

51 lines
1.5 KiB
C++
Raw Normal View History

2021-01-12 14:14:38 -05:00
////////////////////////////////////////////////////////////
//
// GLOBALDB
//
// The master world model is allowed to maintain global data structures.
//
// Unfortunately, any attempt to put a global data structure into the global
// environment will fail, because the global environment periodically gets wiped
// clean by the "source rebuild" procedure (see module 'source').
//
// This module creates a safe space where you can put global data structures
// that won't get wiped out.
//
// THE GLOBAL OPERATOR
//
// This module adds a new function to lua: "global". Global takes a global data
// structure name (a string) and returns a table for that global data structure.
// You can put anything you want into the table.
//
// Since you're only allowed to use global data structures in the master world
// model, any attempt to call "global" in a synchronous world model will
// result in a 'donotpredict' error.
//
////////////////////////////////////////////////////////////
2020-11-27 13:21:07 -05:00
#ifndef GLOBALDB_HPP
#define GLOBALDB_HPP
#include "luastack.hpp"
2021-01-12 14:14:38 -05:00
// globaldb_enable
//
// Enable the use of the global DB. This is meant to be invoked in
// the master world model only. In other world models, you should simply
// not call this function.
//
int globaldb_enable(lua_State *L);
// The lua 'global' operator.
//
// Given a global name, returns a table for that global.
//
// If you haven't enabled the global DB using globaldb_enable, this
// raises a donotpredict error.
//
2020-12-05 18:57:53 -05:00
int globaldb_global(lua_State *L);
2020-11-27 13:21:07 -05:00
#endif // GLOBALDB_HPP