OSDN Git Service

[Modify] boostライブラリに依存した処理を削除中.
[deeangband/Deeangband-new.git] / Deeangband / Race.h
1 /*!
2 * @file Race.h
3 * @brief \83Q\81[\83\80\92\86\82Ì\8eí\91°\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 "BaseStatusTable.h"
11 #include "CreatureTemplate.h"
12 #include "Deeangband.h"
13 #include "GameElement.h"
14
15 namespace Deeangband
16 {
17
18         /*! 
19         * @class Race
20         * @brief \8eí\91°\8fî\95ñ\82Ì\83N\83\89\83X
21         * @details
22         * <h1>\8aT\97v</h1>
23         * <p>\8eí\91°(race)\82Í\81A\83N\83\8a\81[\83`\83\83\81[\82Ì\8dÅ\82à\8fã\88Ê\82È\8eí\97Þ\95ª\82¯\82Ì\88ê\82Â\82Æ\82µ\82Ä\81A\93Á\90«(trait)\82Ì\95t\97^\82â\83X\83e\81[\83^\83X\8fC\90³\82ð\97^\82¦\82é\81B</p>
24         * <ul><li>\8eí\91°\82Ì\93K\97p\82Ì\8c`\82É\82Í\8f\83\8c\89\8eí\91°\81A\8d¬\8c\8c\8eí\91°\81A\95Ï\88Ù\8eí\91°\82Ì\8eO\8eí\82ª\82 \82é\81B</li></ul>
25         * <h2>\95Ï\8bð\94Ø\93{\82©\82ç\82Ì\95Ï\89»</h2>
26         * <ul>
27         * <li>\83v\83\8c\83C\83\84\81[\82¾\82¯\82Å\82È\82­\81A\83\82\83\93\83X\83^\81[\8e©\90g\82ª\8eí\91°\82ð\8e\9d\82Â\82æ\82¤\82É\82È\82Á\82½\81B
28         * <ul>
29         * <li>\82»\82ê\82É\94º\82¢\8eí\91°\82É\83N\83C\83X\83\8b\83X\83\8b\83O\81A\83\82\83\8b\83h\82È\82Ç\8a®\91S\82É\90l\8c^\82ð\88í\92E\82µ\82½\8eí\91°\82à\92Ç\89Á\82³\82ê\82Ä\82¢\82é\81B\83v\83\8c\83C\83A\83u\83\8b\82É\82·\82é\82©\82Í\8c\9f\93¢\92\86\81B</li>
30         * </ul>
31         * </li>
32         * <li>\83A\83\93\83f\83b\83h\8cn\82È\82¢\82µ\90l\91¢\8eí\91°\82Í\93Æ\97§\82µ\82½\8eí\91°\82É\82·\82é\82Ì\82Å\82Í\82È\82­\81A\91O\90g\82Ì\8eí\91°\82É\81u\8bz\8c\8c\8bS\81v\81u\83X\83P\83\8b\83g\83\93\81v\81u\83S\81[\83\8c\83\80\81v\81u\83A\83\93\83h\83\8d\83C\83h\81v\82È\82Ç\82Ì\81u\95t\97^\93Á\90«\81v\82ð\97^\82¦\82é\81B
33         * <ul>
34         * <li>\8eí\91°\96¼\8fÌ\82Í\82»\82ê\82É\94º\82¢\81u\8c³\83h\83\8f\81[\83t\82Ì\8bz\8c\8c\8bS\81v\81u\83G\83\8b\83t\8c^\83A\83\93\83h\83\8d\83C\83h\81v\82È\82Ç\82É\82È\82é\81B</li>
35         * </ul>
36         * </li>
37         * </ul>
38         * <h2>\93K\97p\95ª\97Þ</h2>
39         * <h3>\8f\83\8c\8c\8eí\91°</h3>
40         * <p>\82»\82Ì\8eí\91°\82Ì\8f\83\8c\89\82Å\82 \82é\82±\82Æ\82ð\8ew\82·\81B\82»\82Ì\82Ü\82Ü\81u\8f\83\8c\8c\8fC\90³\81v\82ª\95t\97^\82³\82ê\82é\81B</p>
41         * <h3>\8d¬\8c\8c\8eí\91°</h3>
42         * <p>\93ñ\8eí\97Þ\82Ì\8eí\91°\82Ì\8d¬\8c\8c\82Å\82 \82é\82±\82Æ\82ð\8ew\82·\81B\91o\95û\82Ì\8eí\91°\82ª\8e\9d\82Â\81u\8d¬\8c\8c\8fC\90³\81v\82Ì\8fã\8fæ\82¹\81A\82È\82¢\82µ\95½\8bÏ\92l\82ª\93K\97p\82³\82ê\82é\81B</p>
43         * <ul>
44         * <li>\91S\8eí\91°\82Ì\82©\82¯\8d\87\82í\82¹\82ª\82Å\82«\82é\96ó\82Å\82Í\82È\82¢\81B</li>
45         * <li>\88ê\95\94\82Ì\97L\96¼\82Ç\82±\82ë\82Ì\8d¬\8c\8c\8eí\91°\82É\82Í\93Æ\8e©\82Ì\96¼\91O\82ª\97^\82¦\82ç\82ê\82é\81B\81i\93Á\95Ê\82È\93Á\90«\95t\89Á\82à\8c\9f\93¢\82·\82é\82©\82à\92m\82ê\82È\82¢\82ª\8c»\8fó\82Í\93Á\82É\8dl\82¦\82Ä\82¢\82È\82¢\81j</li>
46         * </ul>
47         * <h3>\95Ï\88Ù\8eí\91°</h3>
48         * <p>\83r\81[\83X\83g\83}\83\93\82Ì\83\8c\83x\83\8b\8co\89ß\82â\83J\83I\83X\91®\90«\8dU\8c\82\82Ì\95\9b\8dì\97p\82È\82Ç\82É\82æ\82è\81A\82»\82Ì\8eí\91°\93I\93Á\90«\82ª\95\9b\8e\9f\93I\82É\95t\89Á\82³\82ê\82½\82±\82Æ\82ð\8ew\82·\81B\95¡\90\94\82Ì\8eí\91°\82Ì\81u\8d¬\8c\8c\8fC\90³\81v\82Ì\8fã\8fæ\82¹\81A\82È\82¢\82µ\95½\8bÏ\92l\82ª\93K\97p\82³\82ê\82é\81B</p>
49         */
50         class Race : public CreatureTemplate
51         {
52         private:
53
54                 BaseStatusTable pureStatusPlus; /*!<\8f\83\8c\8c\83X\83e\81[\83^\83X\8fC\90³*/
55                 BaseStatusTable halfStatusPlus; /*!<\8d¬\8c\8c\83X\83e\81[\83^\83X\8fC\90³*/
56
57
58                 /*!
59                 * @brief \83N\83\89\83X\82Ì\83V\83\8a\83A\83\89\83C\83Y\82ð\90Ý\92è\82·\82é
60                 * @param archive \83A\81[\83J\83C\83u\89»\82·\82é\83N\83\89\83X\82Ì\83A\83h\83\8c\83X
61                 * @param version \83t\83@\83C\83\8b\83o\81[\83W\83\87\83\93
62                 * @return XMLSerialize\83e\83\93\83v\83\8c\81[\83g
63                 */
64                 template<class Archive> void serialize(Archive &archive, const unsigned int version) 
65                 {
66                         if(version > 0)
67                         {
68                                 archive & boost::serialization::make_nvp("Name", name);
69                                 archive & boost::serialization::make_nvp("PureStatusPlus", pureStatusPlus);
70                                 archive & boost::serialization::make_nvp("HalfStatusPlus", halfStatusPlus);
71                         }
72                 }
73
74         public:
75
76                 /*! 
77                 * @brief Race\83N\83\89\83X\83R\83\93\83X\83g\83\89\83N\83^
78                 */
79                 Race::Race(void);
80
81                 /*! 
82                 * @brief Race\83N\83\89\83X\83f\83X\83g\83\89\83N\83^
83                 */
84                 Race::~Race(void);
85
86                 /*! 
87                 * @brief Race\83N\83\89\83X\82Ì\83f\81[\83^\8fÁ\8b\8e
88                 * @return \82È\82µ
89                 */
90                 void Race::WipeData(void);
91
92         };
93
94 }
95