From 5c37a616819fde481a56b8329ffee78578dff244 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 12 Apr 2021 19:20:04 +0800 Subject: [PATCH] add touch alive players --- server/gameserver/room.cc | 10 ++++++++++ server/gameserver/room.h | 2 ++ 2 files changed, 12 insertions(+) diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 125bdfe..4695397 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -1079,6 +1079,16 @@ void Room::TouchEntityList(a8::XParams param, } } +void Room::TouchAlivePlayers(a8::XParams param, + std::function func) +{ + for (auto& pair : alive_player_hash_) { + if (!func(pair.second, param)) { + break; + } + } +} + void Room::UpdateGas() { switch (gas_data_.gas_mode) { diff --git a/server/gameserver/room.h b/server/gameserver/room.h index 61acea0..5e65112 100644 --- a/server/gameserver/room.h +++ b/server/gameserver/room.h @@ -98,6 +98,8 @@ public: std::function func); void TouchEntityList(a8::XParams param, std::function func); + void TouchAlivePlayers(a8::XParams param, + std::function func); void ScatterDrop(a8::Vec2 center, int drop_id); void DropItem(a8::Vec2 pos, int item_id, int item_count, int item_lv);