Browse Source

增加on_load_his

daiyueteng 6 years ago
parent
commit
159a9251c9
3 changed files with 17 additions and 3 deletions
  1. 12 0
      area.cpp
  2. 3 1
      area.h
  3. 2 2
      card.cpp

+ 12 - 0
area.cpp

@@ -103,6 +103,18 @@ void area::on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<ca
 	}
 }
 
+void area::on_load_his(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c)
+{
+    log_info("on_load_his..%d  areaId:%d",c->m_id,m_id);
+    //a->m_last_time=tool_time::now_to_ms();
+    a->m_last_point=*c;
+    for(const auto &i:m_area_business_list)
+    {
+        auto &x=a->get_business_data(i->area_business_type());
+        i->on_load_his(a,c,x);
+    }
+}
+
 void area::on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c)
 {
 	log_info("on_leave..%d  areaId:%d",c->m_id,m_id);

+ 3 - 1
area.h

@@ -26,7 +26,9 @@ struct area
     area(int id,int limit_count_person, int limit_time_person,double scale,int32_t mapid,int32_t type);
   	virtual void on_hover(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c);
 	virtual	void on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c);
-	virtual	void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c);
+    virtual	void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c);
+
+    virtual	void on_load_his(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c);
 
     virtual bool in_area(const std::shared_ptr<site>&s,const std::shared_ptr<card_location_base>&c, const point & p,int &);
     int id()const

+ 2 - 2
card.cpp

@@ -262,7 +262,7 @@ void card_list::load_his_card_postion_vehicle()
                 area_hover_ptr->m_area = area;
                 area_hover_ptr->m_enter_time = enter_time;
                 card_ptr->m_area_tool->m_hover_list.push_back(area_hover_ptr);
-                area_hover_ptr->m_area->on_enter(area_hover_ptr, temp_ptr);
+                area_hover_ptr->m_area->on_load_his(area_hover_ptr, temp_ptr);
             }
         }
     }
@@ -375,7 +375,7 @@ void card_list::load_his_card_postion_staff()
                 area_hover_ptr->m_area = area;
                 area_hover_ptr->m_enter_time = enter_time;
                 card_ptr->m_area_tool->m_hover_list.push_back(area_hover_ptr);
-                area_hover_ptr->m_area->on_enter(area_hover_ptr, temp_ptr);
+                area_hover_ptr->m_area->on_load_his(area_hover_ptr, temp_ptr);
             }
         }
     }