1 /************************************************************************************ 2 3 AstroMenace 4 Hardcore 3D space scroll-shooter with spaceship upgrade possibilities. 5 Copyright (c) 2006-2019 Mikhail Kurinnoi, Viewizard 6 7 8 AstroMenace is free software: you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation, either version 3 of the License, or 11 (at your option) any later version. 12 13 AstroMenace is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with AstroMenace. If not, see <https://www.gnu.org/licenses/>. 20 21 22 Website: https://viewizard.com/ 23 Project: https://github.com/viewizard/astromenace 24 E-mail: viewizard@viewizard.com 25 26 *************************************************************************************/ 27 28 #ifndef GAME_WEAPONPANEL_H 29 #define GAME_WEAPONPANEL_H 30 31 #include "../core/base.h" 32 33 // NOTE switch to nested namespace definition (namespace A::B::C { ... }) (since C++17) 34 namespace viewizard { 35 namespace astromenace { 36 37 class cSpaceShip; 38 39 // do not use specific numbers here, since we use incrementation and decrementation 40 // with cast to int, see WeaponPanelViewNext() and WeaponPanelViewPrev() 41 enum eWeaponPanelView : int { 42 hide = 0, // should be the first one 43 slim, 44 flat, 45 full // should be the last one 46 }; 47 48 49 // Draw in-game weapon panels (part of HUD). 50 void DrawWeaponPanels(std::weak_ptr<cSpaceShip> &SpaceShip); 51 // Find next weapon panel view (cycled). 52 void WeaponPanelViewNext(eWeaponPanelView &Value); 53 // Find previous weapon panel view (cycled). 54 void WeaponPanelViewPrev(eWeaponPanelView &Value); 55 56 } // astromenace namespace 57 } // viewizard namespace 58 59 #endif // GAME_WEAPONPANEL_H 60