20 #include "../Engine/State.h" 32 class BattlescapeButton;
33 class InteractiveSurface;
38 class SavedBattleGame;
42 class BattlescapeGame;
53 BattlescapeButton *_btnUnitUp, *_btnUnitDown, *_btnMapUp, *_btnMapDown, *_btnShowMap, *_btnKneel;
54 BattlescapeButton *_btnInventory, *_btnCenter, *_btnNextSoldier, *_btnNextStop, *_btnShowLayers, *_btnHelp;
57 BattlescapeButton *_btnReserveNone, *_btnReserveSnap, *_btnReserveAimed, *_btnReserveAuto, *_btnReserveKneel, *_btnZeroTUs;
59 static const int VISIBLE_MAX = 10;
65 NumberText *_numTimeUnits, *_numEnergy, *_numHealth, *_numMorale, *_numLayers, *_numAmmoLeft, *_numAmmoRight;
66 Bar *_barTimeUnits, *_barEnergy, *_barHealth, *_barMorale;
67 Timer *_animTimer, *_gameTimer;
69 Text *_txtDebug, *_txtTooltip;
70 std::vector<State*> _popups;
73 bool _isMouseScrolling, _isMouseScrolled;
74 int _xBeforeMouseScrolling, _yBeforeMouseScrolling;
75 Position _mapOffsetBeforeMouseScrolling;
76 Uint32 _mouseScrollingStartTime;
77 int _totalMouseMoveX, _totalMouseMoveY;
78 bool _mouseMovedOverThreshold;
80 std::string _currentTooltip;
82 Uint8 _barHealthColor;
87 void blinkVisibleUnitButtons();
89 void blinkHealthBar();
94 void selectNextPlayerUnit(
bool checkReselect =
false,
bool setReselect =
false,
bool checkInventory =
false);
97 static const int DEFAULT_ANIM_SPEED = 100;
177 void debug(
const std::wstring &message);
179 void warning(
const std::string &message);
217 void resize(
int &dX,
int &dY);
void stopScrolling(Action *action)
Move the mouse back to where it started after we finish drag scrolling.
Definition: BattlescapeState.cpp:2239
bool allowButtons(bool allowSaving=false) const
Is the player allowed to press buttons?
Definition: BattlescapeState.cpp:2096
void btnHelpClick(Action *action)
Handler for clicking the Help button.
Definition: BattlescapeState.cpp:1039
Container for all the information associated with a given user action, like mouse clicks...
Definition: Action.h:32
void btnInventoryClick(Action *action)
Handler for clicking the Soldier button.
Definition: BattlescapeState.cpp:908
void btnNextSoldierClick(Action *action)
Handler for clicking the Next Soldier button.
Definition: BattlescapeState.cpp:954
void mouseOutIcons(Action *action)
Handler for the mouse going out of the icons, enabling the tile selection cube.
Definition: BattlescapeState.cpp:2073
void debug(const std::wstring &message)
Show debug message.
Definition: BattlescapeState.cpp:1492
void btnReserveClick(Action *action)
Handler for clicking a reserved button.
Definition: BattlescapeState.cpp:1208
BattlescapeGame * getBattleGame()
Returns a pointer to the battlegame, in case we need its functions.
Definition: BattlescapeState.cpp:2055
A game state that receives user input and reacts accordingly.
Definition: State.h:43
Timer used to run code in fixed intervals.
Definition: Timer.h:35
void saveVoxelMap()
Saves each layer of voxels on the bettlescape as a png.
Definition: BattlescapeState.cpp:1871
Surface that the user can interact with.
Definition: InteractiveSurface.h:37
void btnMapUpClick(Action *action)
Handler for clicking the Map Up button.
Definition: BattlescapeState.cpp:839
void saveVoxelView()
Saves a first-person voxel view of the battlescape.
Definition: BattlescapeState.cpp:1743
void handle(Action *action)
Handles keypresses.
Definition: BattlescapeState.cpp:1513
bool getMouseOverIcons() const
Checks if the mouse is over the icons.
Definition: BattlescapeState.cpp:2082
void think()
Runs the timers and handles popups.
Definition: BattlescapeState.cpp:552
void selectPreviousPlayerUnit(bool checkReselect=false, bool setReselect=false, bool checkInventory=false)
Selects the previous soldier.
Definition: BattlescapeState.cpp:1012
void mapClick(Action *action)
Handler for clicking the map.
Definition: BattlescapeState.cpp:717
Text string displayed on screen.
Definition: Text.h:40
Bar graphic that represents a certain value.
Definition: Bar.h:31
void txtTooltipIn(Action *action)
Handler for showing tooltip.
Definition: BattlescapeState.cpp:2154
void mapIn(Action *action)
Handler for entering with mouse to the map surface.
Definition: BattlescapeState.cpp:803
void btnLeftHandItemClick(Action *action)
Handler for clicking the left hand item button.
Definition: BattlescapeState.cpp:1109
void mapPress(Action *action)
Handler for pressing the map.
Definition: BattlescapeState.cpp:688
void btnRightHandItemClick(Action *action)
Handler for clicking the right hand item button.
Definition: BattlescapeState.cpp:1136
void btnAbortClick(Action *action)
Handler for clicking the Abort button.
Definition: BattlescapeState.cpp:1063
void setStateInterval(Uint32 interval)
Sets the state timer interval.
Definition: BattlescapeState.cpp:1465
void btnLaunchClick(Action *action)
Handler for clicking the launch rocket button.
Definition: BattlescapeState.cpp:1188
void init()
Initializes the battlescapestate.
Definition: BattlescapeState.cpp:490
void finishBattle(bool abort, int inExitArea)
Finishes a battle.
Definition: BattlescapeState.cpp:1954
void autosave()
Autosave next turn.
Definition: BattlescapeState.cpp:2264
void btnReloadClick(Action *action)
Handler for clicking the reload button.
Definition: BattlescapeState.cpp:1240
bool playableUnitSelected()
Determines whether a playable unit is selected.
Definition: BattlescapeState.cpp:1264
void clearMouseScrollingState()
Clears mouse-scrolling state.
Definition: BattlescapeState.cpp:2047
void btnShowMapClick(Action *action)
Handler for clicking the Show Map button.
Definition: BattlescapeState.cpp:859
Represents a single item in the battlescape.
Definition: BattleItem.h:36
Map * getMap() const
Gets map.
Definition: BattlescapeState.cpp:1483
void btnShowLayersClick(Action *action)
Handler for clicking the Show Layers button.
Definition: BattlescapeState.cpp:1030
Interactive map of the battlescape.
Definition: Map.h:43
void warning(const std::string &message)
Show warning message.
Definition: BattlescapeState.cpp:1504
void resize(int &dX, int &dY)
Update the resolution settings, we just resized the window.
Definition: BattlescapeState.cpp:2183
void mapOver(Action *action)
Handler for moving mouse over the map.
Definition: BattlescapeState.cpp:585
void btnKneelClick(Action *action)
Handler for clicking the Kneel button.
Definition: BattlescapeState.cpp:882
void saveAIMap()
Saves a map as used by the AI.
Definition: BattlescapeState.cpp:1619
void btnNextStopClick(Action *action)
Handler for clicking the Next Stop button.
Definition: BattlescapeState.cpp:967
void showPsiButton(bool show)
Shows the PSI button.
Definition: BattlescapeState.cpp:2039
void btnEndTurnClick(Action *action)
Handler for clicking the End Turn button.
Definition: BattlescapeState.cpp:1050
void btnUnitDownClick(Action *action)
Handler for clicking the Unit Down button.
Definition: BattlescapeState.cpp:826
Coloured box with text inside that fades out after it is displayed.
Definition: WarningMessage.h:33
void popup(State *state)
Displays a popup window.
Definition: BattlescapeState.cpp:1943
Element that is blit (rendered) onto the screen.
Definition: Surface.h:36
void updateSoldierInfo()
Updates soldier name/rank/tu/energy/health/morale.
Definition: BattlescapeState.cpp:1272
~BattlescapeState()
Cleans up the Battlescape state.
Definition: BattlescapeState.cpp:480
void animate()
Animates map objects on the map, also smoke,fire, ...
Definition: BattlescapeState.cpp:1445
void btnUnitUpClick(Action *action)
Handler for clicking the Unit Up button.
Definition: BattlescapeState.cpp:813
void btnPersonalLightingClick(Action *action)
Handler for clicking the lighting button.
Definition: BattlescapeState.cpp:1253
void mouseInIcons(Action *action)
Handler for the mouse moving over the icons, disables the tile selection cube.
Definition: BattlescapeState.cpp:2064
void btnPrevSoldierClick(Action *action)
Handler for clicking the Previous Soldier button.
Definition: BattlescapeState.cpp:977
void btnVisibleUnitClick(Action *action)
Handler for clicking a visible unit button.
Definition: BattlescapeState.cpp:1163
Battlescape game - the core game engine of the battlescape game.
Definition: BattlescapeGame.h:68
void selectNextPlayerUnit(bool checkReselect=false, bool setReselect=false, bool checkInventory=false)
Selects the next soldier.
Definition: BattlescapeState.cpp:992
void showLaunchButton(bool show)
Show the launch button.
Definition: BattlescapeState.cpp:2030
The battlescape data that gets written to disk when the game is saved.
Definition: SavedBattleGame.h:46
void txtTooltipOut(Action *action)
Handler for hiding tooltip.
Definition: BattlescapeState.cpp:2167
void btnReserveKneelClick(Action *action)
Handler for clicking the reserve TUs to kneel button.
Definition: BattlescapeState.cpp:2107
The core of the game engine, manages the game's entire contents and structure.
Definition: Game.h:41
Easy handling of X-Y-Z coordinates.
Definition: Position.h:28
Number digits displayed on the screen.
Definition: NumberText.h:29
Battlescape screen which shows the tactical battle.
Definition: BattlescapeState.h:47
Game * getGame() const
Gets game.
Definition: BattlescapeState.cpp:1474
void btnMapDownClick(Action *action)
Handler for clicking the Map Down button.
Definition: BattlescapeState.cpp:849
void btnZeroTUsClick(Action *action)
Handler for clicking the expend all TUs button.
Definition: BattlescapeState.cpp:2133
void handleState()
Handles the battle game state.
Definition: BattlescapeState.cpp:1456
void btnPsiClick(Action *action)
Handler for clicking the use psi button.
Definition: BattlescapeState.cpp:1198
BattlescapeState()
Creates the Battlescape state.
Definition: BattlescapeState.cpp:80
Represents a moving unit in the battlescape, player controlled or AI controlled it holds info about i...
Definition: BattleUnit.h:59
void btnStatsClick(Action *action)
Handler for clicking the stats.
Definition: BattlescapeState.cpp:1073
Definition: BaseInfoState.cpp:40
void btnCenterClick(Action *action)
Handler for clicking the Center button.
Definition: BattlescapeState.cpp:941