#ifndef __BASE_AREA__ #define __BASE_AREA__ #include "base_data.h" class Card; struct db_area { int m_areaid; std::vector m_point; double m_default_speed; }; struct area { area(std::shared_ptr ptr) :db_area_(ptr) { } virtual ~area() { } std::shared_ptr db_area_; std::shared_ptr context_; virtual void on_card_enter(std::shared_ptr &card, int prev_area){} virtual void on_card_move(std::shared_ptr &card){} virtual void on_card_leave(const std::string& cardid, int next_area){} virtual int get_card_count()const{return 0;} virtual void updata_position(){} }; #endif