OSDN Git Service

[Modify] boostライブラリに依存した処理をコメントアウトによる一時的措置を含めて完了.
[deeangband/Deeangband-new.git] / Deeangband / GameEngine.h
1 /*!
2  * @file GameEngine.h
3  * @brief \83Q\81[\83\80\83G\83\93\83W\83\93\82Ì\83v\83\8d\83g\83^\83C\83v\90é\8c¾
4  * @date 2013/04/13
5  * @author Deskull
6  * 2013-2014 Sikabane Works.
7  */
8
9 #pragma once
10
11 #include "stdafx.h"
12 #include <mutex>
13 #include "Deeangband.h"
14
15 #include "Coordinates.h"
16 #include "Direction.h"
17 #include "GameWorld.h"
18 #include "GameSurface.h"
19 #include "GameSurfaceSDL.h"
20
21
22 namespace Deeangband
23 {
24 #include "EngineTypedef.h"
25
26         class GameCampaign;
27         class GameLogger;
28
29         class GameEngine
30         {
31         private:
32                 GameWorld *gameWorld; //!< GameWorld\82Ì\8eQ\8fÆ\83|\83C\83\93\83^
33                 GameSurface *gameSurface; //!< GameSurface\82Ì\8eQ\8fÆ\83|\83C\83\93\83^
34                 GameLogger *gameLogger; //!< GameLogger\82Ì\8eQ\8fÆ\83|\83C\83\93\83^
35                 std::mutex mutex;
36
37
38         public:
39                 GameEngine::GameEngine();
40                 GameEngine::~GameEngine();
41
42                 /*!
43                  * @brief \95`\89æ\8f\88\97\9d\83\81\83C\83\93\83\8b\81[\83v
44                  * @return \82È\82µ
45                  */
46                 void GameEngine::DrawingLoop(void);
47
48                 /*!
49                  * @brief \83v\83\8c\83C\8f\88\97\9d\83\81\83C\83\93\83\8b\81[\83v
50                  * @return \83Q\81[\83\80\8fI\97¹\83R\81[\83h
51                  */
52                 PLAY_EXIT_CODE GameEngine::PlayLoop(void);
53
54                 /*!
55                  * @brief \83N\83\8a\81[\83`\83\83\81[\93¯\8em\82Ì\94\92\95º\90í\82ð\8f\88\92u\82·\82é
56                  * @param creaturePtr \8dU\8c\82\91¤\83N\83\8a\81[\83`\83\83\81[\82Ì\8eQ\8fÆ\83|\83C\83\93\83^
57                  * @param targetPtr \96Ú\95W\91¤\83N\83\8a\81[\83`\83\83\81[\82Ì\8eQ\8fÆ\83|\83C\83\93\83^
58                  * @return \88Ú\93®\82ª\94\92\95º\8f\88\97\9d\82ª\8ds\82í\82ê\82½\82çtrue
59                  */
60                 bool GameEngine::CombatCreatures(Creature *attackerPtr, Creature *targetPtr);
61
62                 /*!
63                  * @brief \83N\83\8a\81[\83`\83\83\81[\82Ì\8e\80\96S\8fó\91Ô\82ð\91\96\8d¸\81A\8f\88\97\9d\82·\82é
64                  * @return \8e\80\96S\8f\88\97\9d\82ð\8ds\82Á\82½\83N\83\8a\81[\83`\83\83\81[\82Ì\91\8d\90\94
65                  */
66                 int GameEngine::ProcessDeadCreatures();
67
68         };
69 }