area_business_speed_checker.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef AREA_BUSINESS_SPEED_CHECKER_H
  2. #define AREA_BUSINESS_SPEED_CHECKER_H
  3. #include<unordered_map>
  4. #include"area_business.h"
  5. class area_business_speed_checker : public area_business
  6. {
  7. public:
  8. area_business_speed_checker();
  9. virtual int area_business_type()
  10. {
  11. return 4;
  12. }
  13. void on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data>&ptr);
  14. void on_hover(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr);
  15. void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr);
  16. static void init_vehicle_category_from_db();
  17. private:
  18. static double _get_mine_limit_speed(int category_id)
  19. {
  20. auto serch = _vehicle_category_map.find(category_id);
  21. if(serch == _vehicle_category_map.end())
  22. {
  23. return 0;
  24. }
  25. return serch->second;
  26. }
  27. private:
  28. static std::unordered_map<int,double> _vehicle_category_map;
  29. };
  30. #endif // AREA_BUSINESS_SPEED_CHECKER_H