area_business_post_area.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include "area.h"
  2. #include "card_base.h"
  3. #include "tool_time.h"
  4. #include "area_business_post_area.h"
  5. /*
  6. 确定推送人员信息时的区域,每一个明确需要推送的区域,都要推送
  7. */
  8. struct pos_area:business_data
  9. {
  10. pos_area(uint64_t t)
  11. {
  12. m_enter_time=t;
  13. }
  14. uint64_t m_enter_time=0;
  15. };
  16. //将推送区域信息加入人员数据
  17. void area_business_post_area::on_enter(const std::shared_ptr<area_hover>&a,
  18. const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data>&ptr)
  19. {
  20. //uint64_t t=tool_time::now_to_ms();
  21. //ptr=std::make_shared<pos_area>(t);
  22. c->set_area_info(a->mapid(),a->scale(),a->id(),a->m_enter_time,0);
  23. }
  24. void area_business_post_area::on_hover(const std::shared_ptr<area_hover>&a,
  25. const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr)
  26. {
  27. //std::shared_ptr<pos_area> pa = std::dynamic_pointer_cast<pos_area>(ptr);
  28. //uint64_t t = pa->m_enter_time;
  29. c->set_area_info(0,0,a->id(),a->m_enter_time,1);
  30. }
  31. //从人员数据中清除区域信息
  32. void area_business_post_area::on_leave(const std::shared_ptr<area_hover>&a,
  33. const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr)
  34. {
  35. c->set_area_info(0,0,a->id(),0,2);
  36. }