Removed one parameter from RoomManager::Create()

This commit is contained in:
Kayne Ruse
2014-11-26 06:41:29 +11:00
parent 6485839dcf
commit fa0d232727
3 changed files with 9 additions and 28 deletions
+2 -17
View File
@@ -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<int, RoomData>::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();
}
+6 -5
View File
@@ -34,15 +34,12 @@
class RoomManager:
public Singleton<RoomManager>,
public ManagerInterface<RoomData, std::string, std::string>
public ManagerInterface<RoomData, std::string>
{
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<bool(std::pair<const int,RoomData>)> 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;
};
+1 -6
View File
@@ -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<void*>(room));
lua_pushinteger(L, uid);