Döngüyü kırmak yerine şöyle bir yol deneyebilirsiniz, bu yaptığınızla aynı sürede çıkan moblarda gecikme olacaktır.
Not: kod örnek olması için yazılmıştır, isimlendirmeye vs takılmayın kendinize göre capture, düzenleme vs. yapabilirsiniz
Not: kod örnek olması için yazılmıştır, isimlendirmeye vs takılmayın kendinize göre capture, düzenleme vs. yapabilirsiniz
C++:
struct simple_boss_spawn_info {
int mob_vnum;
int map_index;
int pos_x;
int pos_y;
std::string message;
};
struct boss_spawn_time_info : simple_boss_spawn_info {
int hour;
int minute;
int second;
};
static const std::vector<boss_spawn_time_info> m_mobs_info_vec{
{1, 2, 3, 4, "sample_message", 5, 6, 7}
};
const bool is_event_active{true};
if (is_event_active)
{
const auto check_vec{std::none_of(std::cbegin(m_mobs_info_vec), std::cend(m_mobs_info_vec), [](const boss_spawn_time_info& spawn_info){
return spawn_info.hour == 1; // control condition
})};
if (check_vec)
{
// empty vec
}
std::vector<simple_boss_spawn_info> temp_spawn_mob_vec{};
std::copy_if(std::cbegin(m_mobs_info_vec), std::cend(m_mobs_info_vec), std::back_inserter(temp_spawn_mob_vec), [](const boss_spawn_time_info& spawn_elm) {
return spawn_elm.mob_vnum == 1;
});
for (const auto& mob_info : temp_spawn_mob_vec)
{
// spawn process
}