diff --git a/server/rooms/room_manager.cpp b/server/rooms/room_manager.cpp index 26d5042..cefd11a 100644 --- a/server/rooms/room_manager.cpp +++ b/server/rooms/room_manager.cpp @@ -29,25 +29,16 @@ //public access methods //------------------------- -int RoomManager::Create(std::string roomName, std::string tilesetName) { +int RoomManager::Create(std::string roomName) { //create the room RoomData* newRoom = &elementMap[counter]; //implicitly constructs the element + newRoom->SetRoomName(roomName); newRoom->pager.SetLuaState(lua); //finish the routine return counter++; } -int RoomManager::Load(std::string roomName, std::string tilesetName) { - //TODO: RoomManager::Load() - return -1; -} - -int RoomManager::Save(int uid) { - //TODO: RoomManager::Save(uid) - return -1; -} - void RoomManager::Unload(int uid) { //find the room std::map::iterator it = elementMap.find(uid); @@ -59,12 +50,6 @@ void RoomManager::Unload(int uid) { elementMap.erase(uid); } -void RoomManager::Delete(int uid) { - //TODO: RoomManager::Delete(int uid) - //NOTE: aliased to RoomManager::Unload(int uid) - Unload(uid); -} - void RoomManager::UnloadAll() { elementMap.clear(); } diff --git a/server/rooms/room_manager.hpp b/server/rooms/room_manager.hpp index 228b692..1b659d0 100644 --- a/server/rooms/room_manager.hpp +++ b/server/rooms/room_manager.hpp @@ -34,15 +34,12 @@ class RoomManager: public Singleton, - public ManagerInterface + public ManagerInterface { public: //common public methods - int Create(std::string, std::string) override; - int Load(std::string, std::string) override; - int Save(int uid) override; + int Create(std::string) override; void Unload(int uid) override; - void Delete(int uid) override; void UnloadAll() override; void UnloadIf(std::function)> fn) override; @@ -63,6 +60,10 @@ private: RoomManager() = default; ~RoomManager() = default; + int Load(std::string) override { return -1; } + int Save(int uid) override { return -1; } + void Delete(int uid) override { } + lua_State* lua = nullptr; int counter = 0; }; diff --git a/server/rooms/room_manager_api.cpp b/server/rooms/room_manager_api.cpp index 7225a75..091f794 100644 --- a/server/rooms/room_manager_api.cpp +++ b/server/rooms/room_manager_api.cpp @@ -27,14 +27,9 @@ int createRoom(lua_State* L) { //create & get the room RoomManager& roomMgr = RoomManager::GetSingleton(); - int uid = roomMgr.Create("",""); //TODO: All new managers need their internals fleshed out + int uid = roomMgr.Create(lua_tostring(L, 1)); RoomData* room = roomMgr.Get(uid); - //setup the room - //TODO: room parameters only set via lua, fix this - room->SetRoomName(lua_tostring(L, 1)); -// room->SetTilesetName(lua_tostring(L, 2)); - //return room, uid lua_pushlightuserdata(L, static_cast(room)); lua_pushinteger(L, uid);