Added some boilerplate

This commit is contained in:
2016-04-03 16:04:41 +10:00
parent 48b9a9b264
commit f23b929f8a
12 changed files with 300 additions and 9 deletions
+40
View File
@@ -19,5 +19,45 @@
* 3. This notice may not be removed or altered from any source
* distribution.
*/
#pragma once
#include "combat_instance.hpp"
#include "lua.hpp"
#include "sqlite3.h"
#include <algorithm>
#include <map>
class CombatInstanceManager {
public:
CombatInstanceManager();
~CombatInstanceManager();
//common public methods
void Update();
int Create();
void Unload(int uid);
void UnloadAll();
void UnloadIf(std::function<bool(std::pair<const int, CombatInstance const&>)> fn);
//accessors & mutators
CombatInstance* Find(int uid);
int GetLoadedCount();
std::map<int, CombatInstance>* GetContainer();
//hooks
lua_State* SetLuaState(lua_State* L);
lua_State* GetLuaState();
sqlite3* SetDatabase(sqlite3* db);
sqlite3* GetDatabase();
private:
//members
std::map<int, CombatInstance> elementMap;
int counter = 0;
lua_State* lua = nullptr;
sqlite3* database = nullptr;
};