|
@@ -23,7 +23,13 @@ void area_business_count_checker::on_load_his(const std::shared_ptr<area_hover>&
|
|
|
a->m_area->m_person_count ++ ;
|
|
|
if (a->m_area->m_person_count > a->m_area->m_limit_person_count)
|
|
|
{
|
|
|
- a->m_area->m_event_person_count = true;
|
|
|
+ EVENT_TYPE ev = a->m_area->is_mine()?EVENT_TYPE::ET_OVER_COUNT_PERSON : EVENT_TYPE::ET_AREA_OVER_COUNT_PERSON ;
|
|
|
+ auto ev_ptr_temp = event_list::instance()->get_event_area(a->m_area->id(),ev);
|
|
|
+ a->m_area->m_event_person_count = false;
|
|
|
+ if (ev_ptr_temp && !ev_ptr_temp->is_end())
|
|
|
+ {
|
|
|
+ a->m_area->m_event_person_count = true;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
else if (c->is_vehicle())
|
|
@@ -31,7 +37,13 @@ void area_business_count_checker::on_load_his(const std::shared_ptr<area_hover>&
|
|
|
a->m_area->m_vehicle_count ++ ;
|
|
|
if (a->m_area->m_vehicle_count > a->m_area->m_limit_vehicle_count)
|
|
|
{
|
|
|
- a->m_area->m_event_vehicle_count = true;
|
|
|
+ EVENT_TYPE ev = a->m_area->is_mine()?EVENT_TYPE::ET_OVER_COUNT_VEHICLE : EVENT_TYPE::ET_AREA_OVER_COUNT_VEHICLE ;
|
|
|
+ a->m_area->m_event_vehicle_count = false;
|
|
|
+ auto ev_ptr_temp = event_list::instance()->get_event_area(a->m_area->id(),ev);
|
|
|
+ if (ev_ptr_temp && !ev_ptr_temp->is_end())
|
|
|
+ {
|
|
|
+ a->m_area->m_event_vehicle_count = true;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -72,7 +84,7 @@ void area_business_count_checker::on_enter(const std::shared_ptr<area_hover>&a,
|
|
|
{
|
|
|
a->m_area->m_event_person_count = true;
|
|
|
}
|
|
|
- event_tool::instance()->handle_event(a->m_area->is_mine()? OT_MINE : OT_AREA,ev,a->m_area->id(),limitVal,curVal,true);
|
|
|
+ event_tool::instance()->handle_event(OT_AREA,ev,a->m_area->id(),limitVal,curVal,true);
|
|
|
log_info("area_business_count_checker::on_enter : Event OVER_COUNT=%d AreaId=%d,Limit=%d,CurNum=%d"
|
|
|
,ev,a->m_area->id(),limitVal,curVal);
|
|
|
}
|
|
@@ -128,7 +140,7 @@ void area_business_count_checker::on_leave(const std::shared_ptr<area_hover>&a,
|
|
|
}
|
|
|
log_info("area_business_count_checker::on_leave :Cancel Event OVER_COUNT=%d AreaId=%d,Limit=%d,CurNum=%d"
|
|
|
,ev,a->m_area->id(),limitVal,curVal);
|
|
|
- event_tool::instance()->handle_event(a->m_area->is_mine()? OT_MINE : OT_AREA,ev,a->m_area->id(),limitVal,curVal,false);
|
|
|
+ event_tool::instance()->handle_event(OT_AREA,ev,a->m_area->id(),limitVal,curVal,false);
|
|
|
}
|
|
|
}
|
|
|
|