diff --git a/server/combat_manager.cpp b/server/combat_manager.cpp new file mode 100644 index 0000000..be4f9ac --- /dev/null +++ b/server/combat_manager.cpp @@ -0,0 +1,54 @@ +/* Copyright: (c) Kayne Ruse 2014 + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. +*/ +#include "combat_manager.hpp" + +//------------------------- +//public access methods +//------------------------- + +//TODO + +//------------------------- +//accessors and mutators +//------------------------- + +CombatData* CombatManager::GetCombat(int uid) { + std::map::iterator it = combatMap.find(uid); + + if (it == combatMap.end()) { + return nullptr; + } + + return &it->second; +} + +std::map* CombatManager::GetContainer() { + return &combatMap; +} + +lua_State* CombatManager::SetLuaState(lua_State* L) { + return luaState = L; +} + +lua_State* CombatManager::GetLuaState() { + return luaState; +} diff --git a/server/combat_manager.hpp b/server/combat_manager.hpp new file mode 100644 index 0000000..77573ab --- /dev/null +++ b/server/combat_manager.hpp @@ -0,0 +1,51 @@ +/* Copyright: (c) Kayne Ruse 2014 + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. +*/ +#ifndef COMBATMANAGER_HPP_ +#define COMBATMANAGER_HPP_ + +#include "combat_data.hpp" + +#include "lua/lua.hpp" + +#include + +class CombatManager { +public: + CombatManager() = default; + ~CombatManager() = default; + + //public access methods + //TODO + + //accessors and mutators + CombatData* GetCombat(int uid); + std::map* GetContainer(); + + lua_State* SetLuaState(lua_State*); + lua_State* GetLuaState(); + +private: + std::map combatMap; + lua_State* luaState = nullptr; +}; + +#endif \ No newline at end of file diff --git a/server/enemy_manager.cpp b/server/enemy_manager.cpp new file mode 100644 index 0000000..2b49d3d --- /dev/null +++ b/server/enemy_manager.cpp @@ -0,0 +1,54 @@ +/* Copyright: (c) Kayne Ruse 2014 + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. +*/ +#include "enemy_manager.hpp" + +//------------------------- +//public access methods +//------------------------- + +//TODO + +//------------------------- +//accessors and mutators +//------------------------- + +EnemyData* EnemyManager::GetEnemy(int uid) { + std::map::iterator it = enemyMap.find(uid); + + if (it == enemyMap.end()) { + return nullptr; + } + + return &it->second; +} + +std::map* EnemyManager::GetContainer() { + return &enemyMap; +} + +lua_State* EnemyManager::SetLuaState(lua_State* L) { + return luaState = L; +} + +lua_State* EnemyManager::GetLuaState() { + return luaState; +} diff --git a/server/enemy_manager.hpp b/server/enemy_manager.hpp new file mode 100644 index 0000000..dae86ad --- /dev/null +++ b/server/enemy_manager.hpp @@ -0,0 +1,51 @@ +/* Copyright: (c) Kayne Ruse 2014 + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. +*/ +#ifndef ENEMYMANAGER_HPP_ +#define ENEMYMANAGER_HPP_ + +#include "enemy_data.hpp" + +#include "lua/lua.hpp" + +#include + +class EnemyManager { +public: + EnemyManager() = default; + ~EnemyManager() = default; + + //public access methods + //TODO + + //accessors and mutators + EnemyData* GetEnemy(int uid); + std::map* GetContainer(); + + lua_State* SetLuaState(lua_State*); + lua_State* GetLuaState(); + +private: + std::map enemyMap; + lua_State* luaState = nullptr; +}; + +#endif \ No newline at end of file diff --git a/server/room_manager.cpp b/server/room_manager.cpp new file mode 100644 index 0000000..3cb43dd --- /dev/null +++ b/server/room_manager.cpp @@ -0,0 +1,54 @@ +/* Copyright: (c) Kayne Ruse 2014 + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. +*/ +#include "room_manager.hpp" + +//------------------------- +//public access methods +//------------------------- + +//TODO + +//------------------------- +//accessors and mutators +//------------------------- + +RoomData* RoomManager::GetRoom(int uid) { + std::map::iterator it = roomMap.find(uid); + + if (it == roomMap.end()) { + return nullptr; + } + + return &it->second; +} + +std::map* RoomManager::GetContainer() { + return &roomMap; +} + +lua_State* RoomManager::SetLuaState(lua_State* L) { + return luaState = L; +} + +lua_State* RoomManager::GetLuaState() { + return luaState; +} diff --git a/server/room_manager.hpp b/server/room_manager.hpp new file mode 100644 index 0000000..9b1dfc6 --- /dev/null +++ b/server/room_manager.hpp @@ -0,0 +1,51 @@ +/* Copyright: (c) Kayne Ruse 2014 + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. +*/ +#ifndef ROOMMANAGER_HPP_ +#define ROOMMANAGER_HPP_ + +#include "room_data.hpp" + +#include "lua/lua.hpp" + +#include + +class RoomManager { +public: + RoomManager() = default; + ~RoomManager() = default; + + //public access methods + //TODO + + //accessors and mutators + RoomData* GetRoom(int uid); + std::map* GetContainer(); + + lua_State* SetLuaState(lua_State*); + lua_State* GetLuaState(); + +private: + std::map roomMap; + lua_State* luaState = nullptr; +}; + +#endif \ No newline at end of file