This commit is contained in:
aozhiwei 2023-05-17 14:31:13 +08:00
parent f51a00bb18
commit 0a93092c23

View File

@ -1260,20 +1260,39 @@ void Room::UpdateGasInactivePvp()
InitAndroidAI(); InitAndroidAI();
if (IsSandTableRoom()) { if (IsSandTableRoom()) {
{ {
auto first_safearea = pve_mode_meta->_area[0]; const mt::SafeArea* first_safearea = mt::SafeArea::GetByType
(map_meta_->RandSafeArea());
gas_data_.SetGasMode(GasWaiting); gas_data_.SetGasMode(GasWaiting);
gas_data_.gas_start_frameno = GetFrameNo();
battle_start_frameno_ = GetFrameNo();
gas_data_.old_area_meta = first_safearea; gas_data_.old_area_meta = first_safearea;
gas_data_.new_area_meta = pve_mode_meta->_area[0]; gas_data_.new_area_meta = mt::SafeArea::GetById(first_safearea->id() + 1);
gas_data_.pos_list = mt::SafeAreaPos::RandSafeAreaPos(first_safearea->id());
gas_data_.gas_progress = gas_data_.old_area_meta->rad();
gas_data_.gas_start_frameno = GetFrameNo(); gas_data_.gas_start_frameno = GetFrameNo();
gas_data_.pos_new = glm::vec2(gas_data_.new_area_meta->x1(), #if 1
gas_data_.new_area_meta->y1()); gas_data_.pos_old = glm::vec2(first_safearea->x1(),
gas_data_.pos_old = gas_data_.pos_new; first_safearea->y1());
#else
gas_data_.pos_old = map_meta_->first_safearea_center;
#endif
gas_data_.pos_old_bk = gas_data_.pos_old; gas_data_.pos_old_bk = gas_data_.pos_old;
{
if (gas_data_.pos_list && !gas_data_.pos_list->_poses.empty()) {
gas_data_.pos_old = glm::vec2(
gas_data_.pos_list->_poses[0].x,
gas_data_.pos_list->_poses[0].z
);
gas_data_.pos_old_bk = gas_data_.pos_old;
}
bool gen_ok = GenSmallCircle();
if (!gen_ok) {
A8_ABORT();
}
}
gas_data_.rad_old = gas_data_.old_area_meta->rad(); gas_data_.rad_old = gas_data_.old_area_meta->rad();
gas_data_.rad_new = gas_data_.new_area_meta->rad(); gas_data_.rad_new = gas_data_.new_area_meta->rad();
gas_data_.gas_progress = 0; if (map_meta_->init_gas_ring() > 0) {
ForwardGasRing(map_meta_->init_gas_ring());
}
} }
NotifyUiUpdate(); NotifyUiUpdate();
NotifyGameStart(); NotifyGameStart();
@ -2233,8 +2252,7 @@ void Room::NotifyGameStart()
long long Room::GetGasInactiveTime() long long Room::GetGasInactiveTime()
{ {
#ifdef DEBUG #ifdef DEBUG
return App::Instance()->debug_params.find(1) != App::Instance()->debug_params.end() ? return IsSandTableRoom() ? 30 : 10;
App::Instance()->debug_params[1] : 10;
#endif #endif
if (IsPveRoom()) { if (IsPveRoom()) {
return 10; return 10;