|
@@ -26,25 +26,24 @@ struct SPersonDwellChecker : business_data
|
|
m_send_event = false;
|
|
m_send_event = false;
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
+//服务器重启加载数据
|
|
|
|
+void area_business_person_dwell_checker::on_load_his(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data>&ptr)
|
|
|
|
+{
|
|
|
|
+ std::shared_ptr<SPersonDwellChecker> p = std::make_shared<SPersonDwellChecker>();
|
|
|
|
+ p->m_send_event = false;
|
|
|
|
+ ptr = p;
|
|
|
|
+}
|
|
|
|
|
|
//进入区域,记录进入时间
|
|
//进入区域,记录进入时间
|
|
void area_business_person_dwell_checker::on_enter(const std::shared_ptr<area_hover>&a,
|
|
void area_business_person_dwell_checker::on_enter(const std::shared_ptr<area_hover>&a,
|
|
const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data>&ptr)
|
|
const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data>&ptr)
|
|
{
|
|
{
|
|
- if (nullptr == ptr)
|
|
|
|
- {
|
|
|
|
- ptr = std::make_shared<SPersonDwellChecker>();
|
|
|
|
- }
|
|
|
|
- auto ptr_temp = dynamic_cast<SPersonDwellChecker*>(ptr.get());
|
|
|
|
- ptr_temp->m_enter_point.set(c->x,c->y,c->z);
|
|
|
|
- ptr_temp->m_enter_time = tool_time::now_to_seconds();
|
|
|
|
- ptr_temp->m_level_time = 0;
|
|
|
|
- ptr_temp->m_level_point.set(0,0,0);
|
|
|
|
- //a->m_data[this->area_business_type()] = ptr;
|
|
|
|
|
|
+ std::shared_ptr<SPersonDwellChecker> p = std::make_shared<SPersonDwellChecker>();
|
|
|
|
+ p->m_send_event = false;
|
|
|
|
+ ptr = p;
|
|
log_info("area_business_person_dwell_checker::on_enter : In Area=%d Card = %d ",a->m_area->is_mine(),c->m_id);
|
|
log_info("area_business_person_dwell_checker::on_enter : In Area=%d Card = %d ",a->m_area->is_mine(),c->m_id);
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
//判断是否超时
|
|
//判断是否超时
|
|
void area_business_person_dwell_checker::on_hover(const std::shared_ptr<area_hover>&a,
|
|
void area_business_person_dwell_checker::on_hover(const std::shared_ptr<area_hover>&a,
|
|
const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr)
|
|
const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr)
|
|
@@ -89,10 +88,6 @@ void area_business_person_dwell_checker::on_leave(const std::shared_ptr<area_hov
|
|
{
|
|
{
|
|
return ;
|
|
return ;
|
|
}
|
|
}
|
|
- ptr_temp->m_level_point.set(c->x,c->y,c->z);
|
|
|
|
- ptr_temp->m_level_time = tool_time::now_to_seconds();
|
|
|
|
- ptr_temp->m_enter_point.set(0,0,0);
|
|
|
|
- ptr_temp->m_enter_time = 0;
|
|
|
|
ptr_temp->m_send_event = false;
|
|
ptr_temp->m_send_event = false;
|
|
EVENT_TYPE evType = EVENT_TYPE::ET_CARD_AREA_OVER_TIME_PERSON;
|
|
EVENT_TYPE evType = EVENT_TYPE::ET_CARD_AREA_OVER_TIME_PERSON;
|
|
if(c->is_person())
|
|
if(c->is_person())
|