This commit is contained in:
aozhiwei 2022-12-25 14:29:48 +08:00
parent c4ba10bc37
commit 7f68e9f298
4 changed files with 31 additions and 18 deletions

View File

@ -29,4 +29,16 @@ namespace mt
}
}
}
void AirRaid::Traverse(std::function<void (const AirRaid*, bool&)> cb)
{
bool stop = false;
for (auto& itr : raw_list) {
cb(itr, stop);
if (stop) {
break;
}
}
}
}

View File

@ -15,6 +15,8 @@ namespace mt
std::vector<std::tuple<int, int>> _raid_waves;
std::vector<int> _bomb_ids;
static void Traverse(std::function<void (const AirRaid*, bool&)> cb);
};
}

View File

@ -3429,23 +3429,22 @@ void Room::SetInfiniteBulletMode()
void Room::InitAirRaid()
{
// 111
#if 0
std::list<const mt::AirRaid>& air_raids = MetaMgr::Instance()->GetAirRaids();
for (auto& air_raid : air_raids) {
mt::AirRaid::Traverse
(
[this] (const mt::AirRaid* air_raid, bool& stop)
{
xtimer.SetTimeoutEx
(SERVER_FRAME_RATE * air_raid.pb->time(),
[this, &air_raid] (int event, const a8::Args* args)
(SERVER_FRAME_RATE * air_raid->time(),
[this, air_raid] (int event, const a8::Args* args)
{
if (a8::TIMER_EXEC_EVENT == event) {
if (!IsGameOver()) {
AirRaid(air_raid.pb->id());
AirRaid(air_raid->id());
}
}
},
&xtimer_attacher_);
}
#endif
});
}
void Room::AirRaid(int airraid_id)

View File

@ -657,7 +657,7 @@ message MFEmote
{
optional int32 emote_id = 1; //id
optional int32 player_id = 3; //id
optional string msg = 5;
optional string msg = 5;;
}
//