From 795f619c9b08b870df1e7e3155ee1c66470a95f2 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 6 Jul 2020 16:26:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0mapmgr=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/gameserver/mapmgr.cc | 45 ++++++++++++++++++++++++++++++++----- server/gameserver/mapmgr.h | 6 +++++ 2 files changed, 45 insertions(+), 6 deletions(-) diff --git a/server/gameserver/mapmgr.cc b/server/gameserver/mapmgr.cc index 0250ba0..b8d7c75 100644 --- a/server/gameserver/mapmgr.cc +++ b/server/gameserver/mapmgr.cc @@ -33,12 +33,20 @@ void MapMgr::Init() map_meta_->i->map_height() / MAP_GRID_WIDTH, MAP_GRID_WIDTH); CreateThings(); - a8::UdpLog::Instance()->Info("current_uniid:%d loots:%d spawn_points:%d\n", - { - current_uniid_, - loots_.size(), - spawn_points_.size() - }); + a8::UdpLog::Instance()->Info + ("current_uniid:%d loots:%d spawn_points:%d " + "building_num:%d obstalce_num:%d obstacle0_num:%d " + "obstacle1_num:%d obstacle2_num:%d", + { + current_uniid_, + loots_.size(), + spawn_points_.size(), + building_num_, + obstacle_num_, + obstacle0_num_, + obstacle1_num_, + obstacle2_num_, + }); if (current_uniid_ >= FIXED_OBJECT_MAXID) { abort(); } @@ -152,6 +160,7 @@ void MapMgr::CreateBuilding(int thing_id, float building_x, float building_y) building->Initialize(); uniid_hash_[building->GetEntityUniId()] = building; grid_service_->AddPermanentEntity(building); + ++building_num_; for (size_t door_idx = 0; door_idx < building_meta->doors.size(); ++door_idx) { if (door_idx >= 0 && door_idx < building->meta->doors.size()) { MetaData::Building::Door* door_meta = &building->meta->doors[door_idx]; @@ -200,6 +209,30 @@ Obstacle* MapMgr::InternalCreateObstacle(int id, float x, float y, } uniid_hash_[entity->GetEntityUniId()] = entity; grid_service_->AddPermanentEntity(entity); + { + switch (thing->i->attack_type()) { + case 0: + { + ++obstacle0_num_; + } + break; + case 1: + { + ++obstacle1_num_; + } + break; + case 2: + { + ++obstacle2_num_; + } + break; + default: + { + } + break; + } + ++obstacle_num_; + } return entity; } return nullptr; diff --git a/server/gameserver/mapmgr.h b/server/gameserver/mapmgr.h index a78e28f..8ee5d24 100644 --- a/server/gameserver/mapmgr.h +++ b/server/gameserver/mapmgr.h @@ -47,4 +47,10 @@ class MapMgr : public a8::Singleton std::vector loots_; std::vector buildings_; std::vector level0room_spec_things_; + + int building_num_ = 0; + int obstacle_num_ = 0; + int obstacle0_num_ = 0; + int obstacle1_num_ = 0; + int obstacle2_num_ = 0; };