OSDN Git Service

インクルード参照関係を一部修正。 / Fix some include references.
[deeangband/Deeangband-new.git] / Deeangband / GameCampaign.h
1 /*!
2 * @file GameCampaign.h
3 * @brief \83Q\81[\83\80\83L\83\83\83\93\83y\81[\83\93\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 "GameElement.h"
13 #include "Coordinates.h"
14
15 namespace Deeangband
16 {
17
18         /*!
19         * @class GameCampaign
20         * @brief \83Q\81[\83\80\83L\83\83\83\93\83y\81[\83\93\82Ì\83N\83\89\83X
21         * @details
22         * <div>
23         * \83L\83\83\83\93\83y\81[\83\93(Campaign)\82Í\81AD'angband\82Ì\8dÅ\82à\91å\82«\82È\83Q\81[\83\80\82Ì\8eå\91Ì\82Å\82 \82è\81\83Q\81[\83\80\82Ì*\8f\9f\97\98*\8fð\8c\8f\82Æ\8ae\8e©\83Q\81[\83\80\83\8b\81[\83\8b\82Ì\83I\83v\83V\83\87\83\93\91I\91ð\81A\8b­\90§\91I\91ð\81A\83N\83G\83X\83g\82É\82æ\82Á\82Ä\8d\\90¬\82³\82ê\82é\81B
24         * <ul>
25         * <li>\95Ï\8bð\88È\91O\82Ì*band\82Å\82Í\96»\89¤\81w\83\82\83\8b\83S\83X\81x\82È\82¢\82µ\81w\8d¬\93×\82Ì\83T\81[\83y\83\93\83g\81x\82Ì\91Å\93|\82ª\8fð\8c\8f\82Å\82 \82Á\82½*\8f\9f\97\98*\8fð\8c\8f\82Í\81AD'angband\82Å\82Í\82±\82Ì\83L\83\83\83\93\83y\81[\83\93\96\88\82É\82æ\82Á\82Ä\95Ï\89»\82·\82é\81B</li>
26         * </ul>
27         * </div>
28         */
29         class GameCampaign : GameElement
30         {
31         private:
32
33                 TAG startFixedField;       //!<\83v\83\8c\83C\83\84\81[\82Ì\8aJ\8en\8cÅ\92è\83t\83\8d\83A
34                 Coordinates startPosition; //!<\83v\83\8c\83C\83\84\81[\82Ì\8aJ\8en\88Ê\92u
35                 TAG startDungeon;          //!<\83v\83\8c\83C\83\84\81[\82Ì\8aJ\8en\83_\83\93\83W\83\87\83\93
36                 DEPTH startDepth;          //!<\83v\83\8c\83C\83\84\81[\82Ì\8aJ\8en\8aK\91w
37                 TAG finalQuest;            //!<\8dÅ\8fI\83N\83G\83X\83g\83^\83O
38
39                 friend class boost::serialization::access;
40
41                 /*!
42                 * @brief \83N\83\89\83X\82Ì\83V\83\8a\83A\83\89\83C\83Y\82ð\90Ý\92è\82·\82é
43                 * @param archive \83A\81[\83J\83C\83u\89»\82·\82é\83N\83\89\83X\82Ì\83A\83h\83\8c\83X
44                 * @param version \83t\83@\83C\83\8b\83o\81[\83W\83\87\83\93
45                 * @return XMLSerialize\83e\83\93\83v\83\8c\81[\83g
46                 */
47                 template<class Archive> void serialize(Archive &archive, const unsigned int version) 
48                 {
49                         archive & boost::serialization::make_nvp("Name", Name);
50                         archive & boost::serialization::make_nvp("StartPosition", startPosition);
51                         archive & boost::serialization::make_nvp("StartFixedField", startFixedField);
52                         archive & boost::serialization::make_nvp("StartDungeon", startDungeon);
53                         archive & boost::serialization::make_nvp("StartDepth", startDepth);
54                         archive & boost::serialization::make_nvp("finalQuest", finalQuest);
55                 }
56
57
58         public:
59
60                 /*! 
61                 * @brief GameCampaign \83N\83\89\83X\83R\83\93\83X\83g\83\89\83N\83^
62                 */
63                 GameCampaign::GameCampaign(void);
64
65                 /*! 
66                 * @brief GameCampaign \83N\83\89\83X\83f\83X\83g\83\89\83N\83^
67                 */
68                 GameCampaign::~GameCampaign(void);
69
70                 /*! 
71                 * @brief GameCampaign \83N\83\89\83X\82Ì\83f\81[\83^\8fÁ\8b\8e
72                 */
73                 void GameCampaign::WipeData(void);
74
75                 /*!
76                 * @brief \90V\82µ\82¢\83Q\81[\83\80\90¢\8aE\82ð\90\90¬\82·\82é
77                 * @todo GenerateGameWorld()\82É\82æ\82é\83Q\81[\83\80\90¢\8aE\90\90¬\8f\88\97\9d\82Ì\8eÀ\91\95
78                 * @return \90\90¬\8f\88\97\9d\82É\90¬\8c÷\82µ\82½\82çtrue\82ð\95Ô\82·\81B
79                 */
80                 bool GameCampaign::GenerateGameWorld(GameWorld *gameWorldPtr);
81         };
82
83 }
84
85 BOOST_CLASS_VERSION(Deeangband::GameCampaign, 10);