46 lines
616 B
C++
46 lines
616 B
C++
#include "precompile.h"
|
|
|
|
#include "roomob.h"
|
|
#include "room.h"
|
|
#include "player.h"
|
|
|
|
RoomOb::RoomOb(Room* room)
|
|
{
|
|
room_ = room;
|
|
}
|
|
|
|
RoomOb::~RoomOb()
|
|
{
|
|
|
|
}
|
|
|
|
void RoomOb::Init()
|
|
{
|
|
|
|
}
|
|
|
|
void RoomOb::UnInit()
|
|
{
|
|
|
|
}
|
|
|
|
Player* RoomOb::GetByAccountId(const std::string& account_id)
|
|
{
|
|
auto itr = id_hash_.find(account_id);
|
|
return itr != id_hash_.end() ? itr->second : nullptr;
|
|
}
|
|
|
|
void RoomOb::AddOb(Player* hum)
|
|
{
|
|
id_hash_[hum->account_id] = hum;
|
|
}
|
|
|
|
void RoomOb::TraverseOb(std::function<bool (Player*)> cb)
|
|
{
|
|
for (auto& pair : id_hash_) {
|
|
if (!cb(pair.second)) {
|
|
break;
|
|
}
|
|
}
|
|
}
|