OSDN Git Service

[Modify] boostライブラリに依存した処理を削除中.
[deeangband/Deeangband-new.git] / Deeangband / SavingTable.h
1 /*!
2 * @file SavingTable.h
3 * @brief \83Q\81[\83\80\92\86\82Ì\83Z\81[\83r\83\93\83O\83e\81[\83u\83\8b\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 namespace Deeangband
15 {
16
17         /*!
18         * @class SavingTable
19         * @brief \83Z\81[\83r\83\93\83O\83e\81[\83u\83\8b\83N\83\89\83X
20         */
21         class SavingTable
22         {
23         private:
24
25                 AC armor;    /*!< \91\95\8db\83Z\81[\83u\92l */
26                 EV evasion;  /*!< \89ñ\94ð\83Z\81[\83u\92l */
27                 VO volition; /*!< \88Ó\8ev\83Z\81[\83u\92l */
28
29                 template<class Archive> void serialize(Archive &archive, const unsigned int) 
30                 {
31                         archive & BOOST_SERIALIZATION_NVP(armor);
32                         archive & BOOST_SERIALIZATION_NVP(evasion);
33                         archive & BOOST_SERIALIZATION_NVP(volition);
34                 }
35
36         public:
37
38                 /*! 
39                 * @brief SavingTable\83N\83\89\83X\82Ì\83R\83\93\83X\83g\83\89\83N\83^
40                 * @param armor \91\95\8db\83Z\81[\83r\83\93\83O\92l
41                 * @param evasion \89ñ\94ð\83Z\81[\83r\83\93\83O\92l
42                 * @param volition \88Ó\8ev\83Z\81[\83r\83\93\83O\92l
43                 */
44                 SavingTable::SavingTable(BASE_STATUS armor, BASE_STATUS evasion, BASE_STATUS volition);
45
46                 /*! 
47                 * @brief SavingTable\83N\83\89\83X\82Ì\83R\83\93\83X\83g\83\89\83N\83^
48                 */
49                 SavingTable::SavingTable(void);
50
51                 /*! 
52                 * @brief SavingTable\83N\83\89\83X\82Ì\83f\83X\83g\83\89\83N\83^
53                 */
54                 SavingTable::~SavingTable(void);
55
56                 void SavingTable::Set(BASE_STATUS armor, BASE_STATUS evasion, BASE_STATUS volition);
57
58                 const AC SavingTable::GetArmor(void);
59
60                 const EV SavingTable::GetEvasion(void);
61
62                 const VO SavingTable::GetVolition(void);
63
64                 /*!
65                 * @brief +=\89\89\8eZ\8eq\82É\82æ\82é\8dÀ\95W\89Á\8eZ
66                 * @param obj \89Á\8eZ\8c³
67                 */
68                 SavingTable& SavingTable::operator+=(const SavingTable& obj);
69
70         };
71
72 }
73