OSDN Git Service

インクルード参照関係を一部修正。 / Fix some include references.
[deeangband/Deeangband-new.git] / Deeangband / CreatureTemplate.h
1 /*!
2 * @file CreatureTemplate.h
3 * @brief CreatureTemplate\83N\83\89\83X\82Æ\82»\82Ì\91¼\95t\90\8f\97v\91f\82Ì\83v\83\8d\83g\83^\83C\83v
4 * @date 2013/12/11
5 * @author Deskull
6 * 2013 Sikabane Works.
7 */
8
9 #pragma once
10
11 #include "stdafx.h"
12 #include "Deeangband.h"
13
14 #include "BaseStatusTable.h"
15 #include "GameElement.h"
16 #include "HaveSize.h"
17 #include "Discipline.h"
18
19 namespace Deeangband
20 {
21
22         /*!
23         * @class CreatureTemplate
24         * @brief \8eí\91°\81A\90E\8bÆ\81A\91I\91ð\81A\93Á\90«\82È\82Ç\81A\83N\83\8a\81[\83`\83\83\81[\82É\95ï\8a\87\93I\8fC\90³\82ð\97^\82¦\82é\97v\91f\82ð\82Ü\82Æ\82ß\82é\8aî\96{\83N\83\89\83X
25         */
26         class CreatureTemplate : public GameElement
27         {
28         private:
29
30                 /*!
31                 * @brief \83N\83\89\83X\82Ì\83V\83\8a\83A\83\89\83C\83Y\82ð\90Ý\92è\82·\82é
32                 * @param archive \83A\81[\83J\83C\83u\89»\82·\82é\83N\83\89\83X\82Ì\83A\83h\83\8c\83X
33                 * @param version \83t\83@\83C\83\8b\83o\81[\83W\83\87\83\93
34                 * @return XMLSerialize\83e\83\93\83v\83\8c\81[\83g
35                 */
36                 template<class Archive> void serialize(Archive &archive, const unsigned int version) 
37                 {
38                         archive & boost::serialization::make_nvp("Status", statusPlus);
39                         archive & boost::serialization::make_nvp("Discipline", disciplinePlus);
40                 }
41
42         protected:
43                 NAME name; //!<\83e\83\93\83v\83\8c\81[\83g\96¼\8fÌ
44                 DESCRIPTION description; //!<\8fÚ\8d×\8bL\8fq
45                 BaseStatusTable statusPlus; //!<\83X\83e\81[\83^\83X\8fC\90³
46                 Discipline disciplinePlus; //!<\8fC\97{\92l\8fC\90³
47
48         public:
49
50                 /*! 
51                 * @brief CreatureTemplate\83N\83\89\83X\83R\83\93\83X\83g\83\89\83N\83^(\83f\83t\83H\83\8b\83g\92l\93ü\97Í)
52                 */
53                 CreatureTemplate::CreatureTemplate(void);
54
55                 /*! 
56                 * @brief CreatureTemplate\83N\83\89\83X\83f\83X\83g\83\89\83N\83^
57                 */
58                 virtual CreatureTemplate::~CreatureTemplate(void);
59
60                 /*! 
61                 * @brief CreatureTemplate\82Ì\83f\81[\83^\8fÁ\8b\8e
62                 */
63                 void CreatureTemplate::WipeData(void);
64
65                 /*! 
66                 * @brief \8aî\96{\83X\83e\81[\83^\83X\8fC\90³\82ð\95Ô\82·
67                 * @return \8aî\96{\83X\83e\81[\83^\83X\8fC\90³\8d\\91¢\91Ì\82Ì\8eQ\8fÆ\83|\83C\83\93\83^
68                 */
69                 BaseStatusTable* CreatureTemplate::GetStatusPlus(void);
70
71                 /*! 
72                 * @brief \8aî\96{\8fC\97{\92l\8fC\90³\82ð\95Ô\82·
73                 * @return \8aî\96{\8fC\97{\92l\8fC\90³\8d\\91¢\91Ì\82Ì\8eQ\8fÆ\83|\83C\83\93\83^
74                 */
75                 Discipline* CreatureTemplate::GetDisciplinePlus(void);
76
77                 /*! 
78                 * @brief \8ew\92è\82Ì\83X\83L\83\8b\82ð\83N\83\8a\81[\83`\83\83\81[\82ª\95Û\8e\9d\82µ\82Ä\82¢\82é\82©\82ð\95Ô\82·
79                 * @param tag \83X\83L\83\8b\82Ì\83^\83O
80                 * @return \8f\8a\8e\9d\82µ\82Ä\82¢\82é\82È\82ç\82ÎTRUE\82ð\95Ô\82·
81                 */
82                 bool CreatureTemplate::HasSkill(TAG tag);
83
84         };
85
86 }
87
88 BOOST_CLASS_VERSION(Deeangband::CreatureTemplate, 10);