This commit is contained in:
aozhiwei 2020-05-29 14:15:02 +08:00
parent c69b492f58
commit 3365577f52
3 changed files with 44 additions and 31 deletions

View File

@ -17,6 +17,12 @@ void MapMgr::Init()
if (!map_meta_) {
abort();
}
if (map_meta_->i->map_width() < 1) {
abort();
}
if (map_meta_->i->map_height() < 1) {
abort();
}
map_service_ = new MapService();
grid_service_ = new GridService();
grid_service_->Init(map_meta_->i->map_width(),

View File

@ -39,43 +39,24 @@ Room::~Room()
void Room::Init()
{
if (map_meta->i->map_width() < 1) {
abort();
}
if (map_meta->i->map_height() < 1) {
abort();
}
xtimer.Init(RoomXGetTickCount, this, 100, 100);
xtimer_attacher_.xtimer = &xtimer;
#ifdef DEBUG
{
xtimer.AddRepeatTimer
(
SERVER_FRAME_RATE * 3,
a8::XParams()
.SetSender(this),
[] (const a8::XParams& param)
{
Room* room = (Room*)param.sender.GetUserData();
a8::UdpLog::Instance()->Debug("room_idx:%d real_alive_count:%d",
{
room->room_idx,
room->RealAliveCount()
});
});
}
#endif
CreateSpawnPoints();
CreateLoots();
CreateDropObjs();
InitObstacleDatas();
ShuaAndroid();
#ifdef DEBUG
InitDebugInfo();
#endif
}
void Room::UnInit()
{
#ifdef DEBUG
UnInitDebugInfo();
#endif
App::Instance()->perf.alive_count -= alive_count_;
timer_attacher.ClearTimerList();
xtimer_attacher_.ClearTimerList();
@ -95,12 +76,6 @@ void Room::UnInit()
}
removed_robot_hash_.clear();
grid_service->ClearRoomData(this);
#ifdef DEBUG
a8::UdpLog::Instance()->Debug("destroy room_idx:%d",
{
room_idx
});
#endif
}
void Room::Update(int delta_time)
@ -2417,3 +2392,31 @@ void Room::CheckAliveHuman(Human* hum, std::vector<Human*>& alive_humans)
alive_humans.push_back(hum);
}
}
#ifdef DEBUG
void Room::InitDebugInfo()
{
xtimer.AddRepeatTimer
(
SERVER_FRAME_RATE * 3,
a8::XParams()
.SetSender(this),
[] (const a8::XParams& param)
{
Room* room = (Room*)param.sender.GetUserData();
a8::UdpLog::Instance()->Debug("room_idx:%d real_alive_count:%d",
{
room->room_idx,
room->RealAliveCount()
});
});
}
void Room::UnInitDebugInfo()
{
a8::UdpLog::Instance()->Debug("destroy room_idx:%d",
{
room_idx
});
}
#endif

View File

@ -160,6 +160,10 @@ private:
void OnHumanGridChg(Human* target);
void ShuaGridRound(Human* target);
void CheckAliveHuman(Human* hum, std::vector<Human*>& alive_humans);
#ifdef DEBUG
void InitDebugInfo();
void UnInitDebugInfo();
#endif
private:
bool waiting_start_ = false;