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_UFODETECTEDSTATE_H 20 #define OPENXCOM_UFODETECTEDSTATE_H 21 22 #include "../Engine/State.h" 23 24 namespace OpenXcom 25 { 26 27 class Ufo; 28 class TextButton; 29 class Window; 30 class Text; 31 class TextList; 32 class GeoscapeState; 33 34 /** 35 * Displays info on a detected UFO. 36 */ 37 class UfoDetectedState : public State 38 { 39 private: 40 Ufo *_ufo; 41 GeoscapeState *_state; 42 bool _hyperwave; 43 44 TextButton *_btnIntercept, *_btnCentre, *_btnCancel; 45 Window *_window; 46 Text *_txtUfo, *_txtDetected, *_txtHyperwave; 47 TextList *_lstInfo, *_lstInfo2; 48 public: 49 /// Creates the Ufo Detected state. 50 UfoDetectedState(Game *game, Ufo *ufo, GeoscapeState *state, bool detected, bool hyper); 51 /// Cleans up the Ufo Detected state. 52 ~UfoDetectedState(); 53 /// Handler for clicking the Intercept button. 54 void btnInterceptClick(Action *action); 55 /// Handler for clicking the Centre on UFO button. 56 void btnCentreClick(Action *action); 57 /// Handler for clicking the Cancel button. 58 void btnCancelClick(Action *action); 59 }; 60 61 } 62 63 #endif 64