|
@@ -50,7 +50,7 @@ void area_business_count_checker::on_enter(const std::shared_ptr<area_hover>&a,
|
|
|
return ;
|
|
|
if (c->is_person())
|
|
|
{
|
|
|
- int limit_val=a->m_area->get_limit_person_count();
|
|
|
+ int limit_val=a->m_area->m_limit_person_count;
|
|
|
int aid=a->m_area->id();
|
|
|
if(limit_val<=0)
|
|
|
{
|
|
@@ -63,21 +63,6 @@ void area_business_count_checker::on_enter(const std::shared_ptr<area_hover>&a,
|
|
|
a->m_area->m_person_show_count ++ ;
|
|
|
|
|
|
_add_person_count_event(a,limit_val,"person_count_enter");
|
|
|
- /*int pc=a->m_area->m_person_count.load();
|
|
|
- int pc_=a->m_area->m_person_show_count.load();
|
|
|
- EVENT_TYPE ev = a->m_area->is_mine()?EVENT_TYPE::ET_OVER_COUNT_PERSON : EVENT_TYPE::ET_AREA_OVER_COUNT_PERSON ;
|
|
|
- if(pc>limit_val){
|
|
|
- lock();
|
|
|
- event_tool::instance()->handle_event(OT_AREA,ev,aid,limit_val,pc,a->m_area->m_event_person_count=true,DT_NORMAL);
|
|
|
- unlock();
|
|
|
- log_info("person_count_enter:%d,v_count:%d limit:%d",aid,pc,limit_val);
|
|
|
- }
|
|
|
- if(pc_>limit_val){
|
|
|
- lock();
|
|
|
- event_tool::instance()->handle_event(OT_AREA,ev,aid,limit_val,pc_,a->m_area->m_event_person_show_count=true,DT_SPECIAL);
|
|
|
- unlock();
|
|
|
- log_info("person_count_enter_show:%d,v_count:%d limit:%d",aid,pc_,limit_val);
|
|
|
- }*/
|
|
|
}
|
|
|
else if (c->is_vehicle())
|
|
|
{
|
|
@@ -94,21 +79,6 @@ void area_business_count_checker::on_enter(const std::shared_ptr<area_hover>&a,
|
|
|
a->m_area->m_vehicle_show_count ++ ;
|
|
|
|
|
|
_add_vehicle_count_event(a,limit_val);
|
|
|
- /*int vc=a->m_area->m_vehicle_count.load();
|
|
|
- int vc_=a->m_area->m_vehicle_show_count.load();
|
|
|
- EVENT_TYPE ev = a->m_area->is_mine()?EVENT_TYPE::ET_OVER_COUNT_VEHICLE : EVENT_TYPE::ET_AREA_OVER_COUNT_VEHICLE ;
|
|
|
- if(vc>limit_val){
|
|
|
- lock();
|
|
|
- event_tool::instance()->handle_event(OT_AREA,ev,aid,limit_val,vc,a->m_area->m_event_vehicle_count=true,DT_NORMAL);
|
|
|
- unlock();
|
|
|
- log_info("vehicle_count_enter:%d,v_count:%d limit:%d",aid,vc,limit_val);
|
|
|
- }
|
|
|
- if(vc_>limit_val){
|
|
|
- lock();
|
|
|
- event_tool::instance()->handle_event(OT_AREA,ev,aid,limit_val,vc_,a->m_area->m_event_vehicle_show_count=true,DT_SPECIAL);
|
|
|
- unlock();
|
|
|
- log_info("vehicle_count_enter_show:%d,v_count:%d limit:%d",aid,vc_,limit_val);
|
|
|
- }*/
|
|
|
}
|
|
|
c->update_display();
|
|
|
}
|
|
@@ -124,16 +94,11 @@ void area_business_count_checker::on_hover(const std::shared_ptr<area_hover>&a,
|
|
|
on_leave(a,c,ptr);
|
|
|
c->update_display();
|
|
|
ptr=nullptr;
|
|
|
- return;
|
|
|
}
|
|
|
|
|
|
- if (c->is_person() && a->m_area->is_time_person_thre())
|
|
|
+ if (c->is_person() && a->m_area->get_limit_person_count())
|
|
|
{
|
|
|
- int limit_val = 0;
|
|
|
- if (!a->m_area->is_limit_person_count_check(limit_val) || limit_val <= 0)
|
|
|
- {
|
|
|
- return;
|
|
|
- }
|
|
|
+ int limit_val = a->m_area->m_limit_person_count;
|
|
|
_remove_person_count_event(a,limit_val,"area_business_count_checker::on_hover");
|
|
|
_add_person_count_event(a,limit_val,"area_business_count_checker::on_hover");
|
|
|
}
|
|
@@ -164,25 +129,7 @@ void area_business_count_checker::on_leave(const std::shared_ptr<area_hover>&a,
|
|
|
if(flag)
|
|
|
a->m_area->m_person_show_count -- ;
|
|
|
}
|
|
|
- int limit_val=a->m_area->get_limit_person_count();
|
|
|
- _remove_person_count_event(a,limit_val,"person_count_leave");
|
|
|
- /*int pc=a->m_area->m_person_count.load();
|
|
|
- int pc_=a->m_area->m_person_show_count.load();
|
|
|
- int aid=a->m_area->id();
|
|
|
- EVENT_TYPE ev = a->m_area->is_mine()?EVENT_TYPE::ET_OVER_COUNT_PERSON : EVENT_TYPE::ET_AREA_OVER_COUNT_PERSON ;
|
|
|
- if(a->m_area->m_event_person_count&& pc <= limit_val){
|
|
|
- lock();
|
|
|
- event_tool::instance()->handle_event(OT_AREA,ev,aid,limit_val,pc,a->m_area->m_event_person_count=false,DT_NORMAL);
|
|
|
- unlock();
|
|
|
- log_info("person_count_leave:%d,v_count:%d limit:%d",aid,pc,limit_val);
|
|
|
- }
|
|
|
- if(a->m_area->m_event_person_show_count&& pc_ <= limit_val){
|
|
|
- lock();
|
|
|
- event_tool::instance()->handle_event(OT_AREA,ev,aid,limit_val,pc_,a->m_area->m_event_person_show_count=false,DT_SPECIAL);
|
|
|
- unlock();
|
|
|
- log_info("person_count_leave_show:%d,v_count:%d limit:%d",aid,pc,limit_val);
|
|
|
- }
|
|
|
- */
|
|
|
+ _remove_person_count_event(a , a->m_area->m_limit_person_count ,"person_count_leave");
|
|
|
}
|
|
|
else if (c->is_vehicle())
|
|
|
{
|
|
@@ -194,24 +141,7 @@ void area_business_count_checker::on_leave(const std::shared_ptr<area_hover>&a,
|
|
|
if(flag)
|
|
|
a->m_area->m_vehicle_show_count -- ;
|
|
|
}
|
|
|
- int limit_val=a->m_area->m_limit_vehicle_count;
|
|
|
- _remove_vehicle_count_event(a,limit_val);
|
|
|
- /*int pc=a->m_area->m_vehicle_count.load();
|
|
|
- int pc_=a->m_area->m_vehicle_show_count.load();
|
|
|
- int aid=a->m_area->id();
|
|
|
- EVENT_TYPE ev = a->m_area->is_mine()?EVENT_TYPE::ET_OVER_COUNT_VEHICLE : EVENT_TYPE::ET_AREA_OVER_COUNT_VEHICLE ;
|
|
|
- if(a->m_area->m_event_vehicle_count&& pc <= limit_val){
|
|
|
- lock();
|
|
|
- event_tool::instance()->handle_event(OT_AREA,ev,aid,limit_val,pc,a->m_area->m_event_vehicle_count=false,DT_NORMAL);
|
|
|
- unlock();
|
|
|
- log_info("vehicle_count_leave:%d,v_count:%d limit:%d",aid,pc,limit_val);
|
|
|
- }
|
|
|
- if(a->m_area->m_event_vehicle_show_count&& pc_ <= limit_val){
|
|
|
- lock();
|
|
|
- event_tool::instance()->handle_event(OT_AREA,ev,aid,limit_val,pc_,a->m_area->m_event_vehicle_show_count=false,DT_SPECIAL);
|
|
|
- unlock();
|
|
|
- log_info("vehicle_count_leave_show:%d,v_count:%d limit:%d",aid,pc,limit_val);
|
|
|
- }*/
|
|
|
+ _remove_vehicle_count_event(a,a->m_area->m_limit_vehicle_count);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -223,14 +153,14 @@ void area_business_count_checker::_add_person_count_event(const std::shared_ptr<
|
|
|
int pc = a->m_area->m_person_count.load();
|
|
|
int pc_ = a->m_area->m_person_show_count.load();
|
|
|
EVENT_TYPE ev = a->m_area->is_mine() ? EVENT_TYPE::ET_OVER_COUNT_PERSON : EVENT_TYPE::ET_AREA_OVER_COUNT_PERSON;
|
|
|
- if(pc >= limit_val )
|
|
|
+ if(pc > limit_val )
|
|
|
{
|
|
|
lock();
|
|
|
event_tool::instance()->handle_event(OT_AREA,ev,aid,limit_val,pc,a->m_area->m_event_person_count=true,DT_NORMAL);
|
|
|
unlock();
|
|
|
log_info("%s:%d,v_count:%d limit:%d",desc.c_str(),aid,pc,limit_val);
|
|
|
}
|
|
|
- if(pc_ >= limit_val )
|
|
|
+ if(pc_ > limit_val )
|
|
|
{
|
|
|
lock();
|
|
|
event_tool::instance()->handle_event(OT_AREA,ev,aid,limit_val,pc_,a->m_area->m_event_person_show_count=true,DT_SPECIAL);
|