Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/trunk/src/modules/invader/Invader.h @ 9942

Last change on this file since 9942 was 9942, checked in by jo, 10 years ago

Disabling addbots for Invaders, since it will cause the game to crash.

File size: 2.6 KB
Line 
1/*
2 *   ORXONOX - the hottest 3D action shooter ever to exist
3 *                    > www.orxonox.net <
4 *
5 *
6 *   License notice:
7 *
8 *   This program is free software; you can redistribute it and/or
9 *   modify it under the terms of the GNU General Public License
10 *   as published by the Free Software Foundation; either version 2
11 *   of the License, or (at your option) any later version.
12 *
13 *   This program 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 this program; if not, write to the Free Software
20 *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
21 *
22 *   Author:
23 *      Florian Zinggeler
24 *   Co-authors:
25 *      ...
26 *
27 */
28
29/**
30    @file Invader.h
31    @brief Gametype.
32    @ingroup Invader
33*/
34
35#ifndef _Invader_H__
36#define _Invader_H__
37
38#include "invader/InvaderPrereqs.h"
39
40#include "gametypes/Deathmatch.h"
41
42#include "InvaderCenterPoint.h"
43
44#include "tools/Timer.h"
45
46namespace orxonox
47{
48
49    class _InvaderExport Invader : public Deathmatch
50    {
51        public:
52            Invader(Context* context);
53
54            virtual void start();
55            virtual void end();
56            virtual void addBots(unsigned int amount){} //<! overwrite function in order to bypass the addbots command
57
58            void spawnEnemy();
59
60            void setCenterpoint(InvaderCenterPoint* center)
61            { this->center_ = center; }
62
63            int getLives(){return this->lives;}
64            int getLevel(){return this->level;}
65            int getPoints(){return this->point;}
66            int getMultiplier(){return this->multiplier;}
67
68            void costLife();
69            void levelUp();
70            void addPoints(int numPoints);
71            // checks if multiplier should be reset.
72            void comboControll();
73            void init();
74            int lives;
75            int multiplier;
76            bool bEndGame;
77            bool bShowLevel;
78        private:
79            void toggleShowLevel(){bShowLevel = !bShowLevel;}
80            WeakPtr<InvaderShip> getPlayer();
81            WeakPtr<InvaderCenterPoint> center_;
82            WeakPtr<InvaderShip> player;
83
84            Timer enemySpawnTimer;
85            Timer comboTimer;
86            Timer showLevelTimer;
87            //Context* context;
88            int level;
89            int point;
90            bool b_combo;
91    };
92}
93
94#endif /* _Invader_H__ */
Note: See TracBrowser for help on using the repository browser.