1 #include "configmanager.h"
4 static std::map
<std::string
, int> *scr
= NULL
;
5 static std::map
<std::string
, Ponto
> *play
= NULL
;
6 static std::list
<std::string
> *m
= NULL
;
8 static int regscreen(lua_State
*L
) {
9 const char *name
= lua_tostring(L
, 1);
10 double value
= lua_tonumber(L
, 2);
11 (*scr
)[name
] = (int) value
;
15 static int regplayer(lua_State
*L
) {
16 const char *name
= lua_tostring(L
, 1);
17 double x
= lua_tonumber(L
, 2);
18 double y
= lua_tonumber(L
, 3);
19 (*play
)[name
] = Ponto(x
, y
);
23 static int regmap(lua_State
*L
) {
24 m
->push_back(lua_tostring(L
, 1));
28 ConfigManager::ConfigManager() {
32 std::string
ConfigManager::previousMap() {
33 return map
!= maps
.begin() ? *(--map
) : *map
;
36 std::string
ConfigManager::currentMap() {
40 std::string
ConfigManager::nextMap() {
41 return map
!= --(maps
.end()) ? *(++map
) : *map
;
44 void ConfigManager::load() {
54 registerFunction(lstate
, "regscreen", regscreen
);
55 registerFunction(lstate
, "regplayer", regplayer
);
56 registerFunction(lstate
, "regmap", regmap
);
57 doLuaFile(lstate
,"configmanager.lua");
58 doLuaFile(lstate
,"config.lua");