1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #ifndef MODULE_OVER_SPEED_VEHICLE_H
- #define MODULE_OVER_SPEED_VEHICLE_H
- #include <unordered_map>
- #include "module_singleton_base.h"
- #include "card.h"
- class module_over_speed_vehicle:public singleton_base<module_over_speed_vehicle>
- {
- private:
- friend class singleton_base<module_over_speed_vehicle>;
- module_over_speed_vehicle()
- {
- }
- public:
- void on_hover(std::shared_ptr<card_location_base> card_ptr, int vehicle_category_id);
- void init_vehicle_category_from_db();
- private:
- bool is_over_speed(int category_id, double speed)
- {
- auto serch = _vehicle_category_map.find(category_id);
- if(serch == _vehicle_category_map.end())
- {
- return false;
- }
- return serch->second <= speed;
- }
- double limit_speed(int category_id) const
- {
- auto serch = _vehicle_category_map.find(category_id);
- if(serch == _vehicle_category_map.end())
- {
- return 0;
- }
- return serch->second;
- }
- private:
- std::unordered_map<int,double> _vehicle_category_map;
- };
- #endif
|