OSDN Git Service

インクルード参照関係を一部修正。 / Fix some include references.
[deeangband/Deeangband-new.git] / Deeangband / StartingClass.h
1 /*!
2 * @file StartingClass.h
3 * @brief \83Q\81[\83\80\92\86\82Ì\90E\8bÆ\8fî\95ñ\82Ì\83v\83\8d\83g\83^\83C\83v
4 * @date 2014/03/01
5 * @author Deskull
6 * 2014 Sikabane Works.
7 */
8
9 #include "stdafx.h"
10 #include "CreatureTemplate.h"
11 #include "Deeangband.h"
12 #include "GameElement.h"
13
14 namespace Deeangband
15 {
16
17         /*! 
18          * @class StartingClass
19          * @brief \90E\8bÆ\8fî\95ñ\82Ì\83N\83\89\83X
20          * @details
21          * <h1>\8aT\97v</h1>
22          * <ul>
23          * <li>\90E\8bÆ(class)\82Í\81A\8eí\91°(race)\82Ì\92\86\82Å\82à\8eÐ\89ï\90«\82ð\8e\9d\82Á\82Ä\82¢\82é\8eí\91°\82ª\91I\91ð\82Å\82«\82é\83X\83e\81[\83^\83X\82Å\82 \82é\81B\90E\8bÆ\82É\89\9e\82\82Ä\93Á\90«\82Ì\95t\89Á\82Æ\83X\83e\81[\83^\83X\82Ì\8fC\90³\82ª\82©\82©\82é\81B</li>
24          * <li>\92m\94\\82ª\92\98\82µ\82­\92á\82¢\8eí\91°\81i\93Á\90«\82ÌSTUPID\8e\9d\82¿\82 \82½\82è\82ª\91Ã\93\96\82©\81j\82Í\90E\8bÆ\82ð\8e\9d\82½\82È\82¢\81B</li>
25          * </ul>
26          * <h2>\95Ï\8bð\94Ø\93{\82©\82ç\82Ì\95Ï\89»</h2>
27          * <ul>
28          * <li>\95Ï\8bð\82Å\82Í\8ae\90E\8bÆ\8cÀ\92è\82É\82È\82Á\82Ä\82¢\82½\8ae\8eí\82Ì\93Á\8eê\82È\8bZ\94\\82ª\81A\83X\83L\83\8b\90§\82É\95Ï\89»\82µ\82½\82±\82Æ\82É\82æ\82è\91¼\82Ì\90E\8bÆ\82Å\82à\95â\8f\95\93I\82É\97\98\97p\82Å\82«\82é\82æ\82¤\82É\82È\82é\81B</li>
29          * <li>\82½\82¾\82µ\90E\8bÆ\96\88\82É\83X\83L\83\8b\82Ì\8fC\90³\97¦\81i\95Ï\8bð\82Å\83}\81[\83V\83\83\83\8b\83A\81[\83c\81A\93ñ\93\81\97¬\81A\8fæ\94n\8eO\8eí\82Ì\83X\83L\83\8b\82ª\90Ý\92è\82³\82ê\82Ä\82¢\82½\82Ì\82É\8bß\82¢\81j\82ª\92è\82ß\82ç\82ê\82Ä\82¨\82è\81A
30          * \82»\82Ì\91f\8e¿\82É\94½\82µ\82½\90¬\92·\82ð\8ds\82¤\82Æ\82Ù\82Æ\82ñ\82Ç\82Ì\83P\81[\83X\82Å\8eè\8bl\82Ü\82è\82·\82é\81B</li>
31          * \8f\8a\88à\8dÄ\8cP\97û\82Ì\83V\83X\83e\83\80\82Í\93±\93ü\97\\92è\82Å\82Í\82 \82é\82ª\81A\8e\9d\82¿\92¼\82·\82½\82ß\82Ì\91½\91å\82È\8eè\8aÔ\82Í\83y\83i\83\8b\83e\83B\82É\82È\82é\81B</li>
32          * <li>\92m\90«\82Ì\82 \82é\8eí\91°\82È\82ç\82Î\82 \82ç\82ä\82é\90E\8bÆ\82ð\91I\91ð\82Å\82«\82é\82Ì\82Í\95Ï\82í\82ç\82È\82¢\82ª\81A\8eí\91°\96\88\82É\93¾\88Ó\82È\90E\8bÆ\82ª\82 \82è\81A\82»\82ê\82ð\91I\82Ô\82Æ\90E\8bÆ\82É\82æ\82é\83X\83e\81[\83^\83X\8fC\90³\82É\83{\81[\83i\83X\82ª\89Á\82í\82é\81B</li>
33          * <li>NPC\90ê\97p\90E\8bÆ\82ª\92Ç\89Á\82³\82ê\82Ä\82¢\82é\81i\95½\96¯\81A\95º\8em\82È\82Ç\81j</li>
34          * </ul>
35          */
36         class StartingClass : public CreatureTemplate
37         {
38         private:
39
40                 friend class boost::serialization::access;
41
42                 /*!
43                 * @brief \83N\83\89\83X\82Ì\83V\83\8a\83A\83\89\83C\83Y\82ð\90Ý\92è\82·\82é
44                 * @param archive \83A\81[\83J\83C\83u\89»\82·\82é\83N\83\89\83X\82Ì\83A\83h\83\8c\83X
45                 * @param version \83t\83@\83C\83\8b\83o\81[\83W\83\87\83\93
46                 * @return XMLSerialize\83e\83\93\83v\83\8c\81[\83g
47                 */
48                 template<class Archive> void serialize(Archive &archive, const unsigned int version) 
49                 {
50                         archive & boost::serialization::make_nvp("Name", name);
51                         archive & boost::serialization::make_nvp("StatusPlus", statusPlus);
52                 }
53
54         public:
55
56                 /*! 
57                 * @brief Starting\83N\83\89\83X\83R\83\93\83X\83g\83\89\83N\83^(GameElement\83\81\83\93\83o\91Î\89\9e)
58                 * @param id GameElement\82ÌID
59                 * @param tag GameElement\82Ì\83^\83O
60                 * @param gameWorld \8f\8a\91®\8c³gameWorld\8eQ\8fÆ\83|\83C\83\93\83^
61                 */
62                 StartingClass::StartingClass(ID id, TAG tag, GameWorld *gameWorld);
63
64                 /*! 
65                 * @brief Starting\83N\83\89\83X\83R\83\93\83X\83g\83\89\83N\83^
66                 */
67                 StartingClass::StartingClass(void);
68
69                 /*! 
70                 * @brief Starting\83N\83\89\83X\83f\83X\83g\83\89\83N\83^
71                 */
72                 StartingClass::~StartingClass(void);
73
74                 /*! 
75                 * @brief Starting\82Ì\83f\81[\83^\8fÁ\8b\8e
76                 * @return \82È\82µ
77                 */
78                 void StartingClass::WipeData(void);
79
80                 /*! 
81                 * @brief \8fo\8e©\96¼\82ð\95Ô\82·
82                 * @return \8fo\8e©\96¼
83                 */
84                 NAME StartingClass::GetName(void);
85
86         };
87
88 }
89
90 BOOST_CLASS_VERSION(Deeangband::StartingClass, 10);