OSDN Git Service

Set serialization version of Authority and FixedArtifact class.
[deeangband/Deeangband-new.git] / Deeangband / Authority.h
1 /*!
2 * @file Authority.h
3 * @brief \8c \94\\82Ì\83v\83\8d\83g\83^\83C\83v\90é\8c¾
4 * @date 2013/12/22
5 * @author Deskull
6 * 2013 Sikabane Works.
7 */
8
9 #pragma once
10
11 #include "stdafx.h"
12 #include "Deeangband.h"
13 #include "CreatureTemplate.h"
14
15 namespace Deeangband
16 {
17
18         /*! 
19         * @class Authority
20         * @brief \8c \94\\82Ì\83N\83\89\83X
21         */
22         class Authority : public CreatureTemplate
23         {
24         private:
25
26                 NAME name; //!< \8c \94\\82Ì\96¼\91O
27
28                 friend class boost::serialization::access;
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 fileVersion \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                         if(version >= 0)
39                         {
40                                 archive & boost::serialization::make_nvp("Name", name);
41                         }
42                 }
43
44         public:
45
46
47                 /*! 
48                 * @brief Authority\83N\83\89\83X\83R\83\93\83X\83g\83\89\83N\83^(GameElement\83\81\83\93\83o\91Î\89\9e)
49                 * @param id GameElement\82ÌID
50                 * @param tag GameElement\82Ì\83^\83O
51                 * @param gameWorld \8f\8a\91®\8c³gameWorld\8eQ\8fÆ\83|\83C\83\93\83^
52                 */
53                 Authority::Authority(ID id, TAG tag, GameWorld *gameWorld);
54
55                 /*! 
56                 * @brief Authority\83N\83\89\83X\83R\83\93\83X\83g\83\89\83N\83^
57                 */
58                 Authority::Authority(void);
59
60                 /*! 
61                 * @brief Authority\83N\83\89\83X\83f\83X\83g\83\89\83N\83^
62                 */
63                 Authority::~Authority(void);
64
65                 /*! 
66                 * @brief \8c \94\\96¼\82ð\95Ô\82·
67                 * @return \8c \94\\96¼
68                 */
69                 NAME Authority::GetName(void);
70         };
71 }
72
73 BOOST_CLASS_VERSION(Deeangband::Authority, 10);