OpenXcom  1.0
Open-source clone of the original X-Com
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
MiniMapState.h
1 /*
2  * Copyright 2010-2014 OpenXcom Developers.
3  *
4  * This file is part of OpenXcom.
5  *
6  * OpenXcom is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * OpenXcom is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with OpenXcom. If not, see <http://www.gnu.org/licenses/>.
18  */
19 #ifndef OPENXCOM_MINIMAP_H
20 #define OPENXCOM_MINIMAP_H
21 
22 #include "../Engine/State.h"
23 
24 namespace OpenXcom
25 {
26 
27 class Camera;
28 class InteractiveSurface;
29 class Text;
30 class MiniMapView;
31 class Timer;
32 class SavedBattleGame;
33 
37 class MiniMapState : public State
38 {
39  Surface * _bg;
40  MiniMapView *_miniMapView;
41  InteractiveSurface *_btnLvlUp, *_btnLvlDwn, *_btnOk;
42  Text *_txtLevel;
43  Timer *_timerAnimate;
45  void animate();
46 public:
48  MiniMapState (Game * game, Camera * camera, SavedBattleGame * battleGame);
50  ~MiniMapState();
52  void btnOkClick (Action * action);
54  void btnLevelUpClick (Action * action);
56  void btnLevelDownClick (Action * action);
58  void handle(Action *action);
60  void think ();
61 };
62 }
63 
64 #endif
Container for all the information associated with a given user action, like mouse clicks...
Definition: Action.h:34
void btnLevelDownClick(Action *action)
Handler for the one level down button.
Definition: MiniMapState.cpp:151
A game state that receives user input and reacts accordingly.
Definition: State.h:44
Timer used to run code in fixed intervals.
Definition: Timer.h:37
Surface that the user can interact with.
Definition: InteractiveSurface.h:39
Text string displayed on screen.
Definition: Text.h:41
Class handling camera movement, either by mouse or by events on the battlescape.
Definition: Camera.h:35
void handle(Action *action)
Handler for right-clicking anything.
Definition: MiniMapState.cpp:106
The MiniMap is a representation of a Battlescape map that allows you to see more of the map...
Definition: MiniMapState.h:37
void btnOkClick(Action *action)
Handler for the OK button.
Definition: MiniMapState.cpp:126
void think()
Handles timers.
Definition: MiniMapState.cpp:169
MiniMapView is the class used to display the map in the MiniMapState.
Definition: MiniMapView.h:36
~MiniMapState()
Cleans up the MiniMapState.
Definition: MiniMapState.cpp:97
Element that is blit (rendered) onto the screen.
Definition: Surface.h:39
void btnLevelUpClick(Action *action)
Handler for the one level up button.
Definition: MiniMapState.cpp:140
MiniMapState(Game *game, Camera *camera, SavedBattleGame *battleGame)
Creates the MiniMapState.
Definition: MiniMapState.cpp:42
The battlescape data that gets written to disk when the game is saved.
Definition: SavedBattleGame.h:50
The core of the game engine, manages the game's entire contents and structure.
Definition: Game.h:44