メインページ | ネームスペース一覧 | クラス階層 | アルファベット順一覧 | 構成 | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ

def_map.hh

説明を見る。
00001 #ifndef DEF_MAP_HH_
00002 # define DEF_MAP_HH_
00003 
00004 # include <vector>
00005 # include <list>
00006 # include <map>
00007 
00008 # include "objects_fwd.hh"
00009 # include "language.hh"
00010 
00011 namespace objects
00012 {
00013   class HuntCourse : public std::list<MapNode *>
00014   {
00015   public:
00016     HuntCourse(std::string course_name, int level_required = 0,
00017       int experience_worth = 0, int money_worth = 0);
00018     ~HuntCourse();
00019 
00020     int get_level_required() const;
00021     int get_experience_worth() const;
00022     int get_money_worth() const;
00023 
00024     HuntCourse &add_node(int x, int y, int z);
00025     HuntCourse &add_node(MapNode &mn);
00026     const MapNode &get_closest_node() const;
00027 
00028     const std::string &get_course_name() const;
00029     
00030   protected:
00031     int _level_required;
00032     int _experience_worth;
00033     int _money_worth;
00034     std::string _course_name;
00035   };
00036 
00037   class WarpPoint
00038   {
00039   public:
00040     WarpPoint(int id, const MapNode &warp_node,
00041       const DefMap &destination_map, int cost = 0);
00042     ~WarpPoint();
00043 
00044     int get_id() const;
00045     const MapNode &get_warp_node() const;
00046     const DefMap &get_destination_map() const;
00047     int get_cost() const;
00048 
00049   protected:
00050     int _id;
00051     const MapNode &_warp_node;
00052     const DefMap &_destination_map;
00053     int _cost;
00054   };
00055 
00056   class DefMap : public language::Namable
00057   {
00058   public:
00059     typedef std::vector<MapNode *> MapNodes;
00060     typedef std::list<HuntCourse> HuntCourses;
00061     typedef std::map<int, WarpPoint> WarpPoints;
00062     typedef std::list<const DefMap *> MapList;
00063 
00064   public:
00065     DefMap();
00066     ~DefMap();
00067 
00068     virtual int get_id() const;
00069 
00070     const MapNode *get_repair_node() const;
00071     const MapNode *get_supply_node() const;
00072     const MapNode *get_warehouse_node() const;
00073     const MapNode *get_gate_node() const;
00074     const HuntCourses &get_hunt_courses() const;
00075     bool is_home() const;
00076 
00077     const WarpPoints &get_warp_points() const;
00078     virtual void load_warp_points() = 0;
00079     MapList find_path(const DefMap &dest) const;
00080 
00081   protected:
00082     MapNodes _nodes;
00083     MapNode *_repair_node;
00084     MapNode *_supply_node;
00085     MapNode *_warehouse_node;
00086     MapNode *_gate_node;
00087     HuntCourses _hunt_courses;
00088     WarpPoints _warp_points;
00089 
00090     bool _home;
00091 
00092     int add_node(MapNode &node);
00093     void add_hunt_course(HuntCourse &hc);
00094     void add_warp_point(int id, const MapNode *warp_node,
00095       int destination_map_id, int cost = 0);
00096   };
00097 }
00098 
00099 # include "def_map.hxx"
00100 
00101 #endif

Cronous Emulatorに対してWed Aug 17 06:01:21 2005に生成されました。  doxygen 1.4.2-20050421