Orxonox  0.0.5 Codename: Arcturus
InvaderEnemy.h
Go to the documentation of this file.
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 
34 #ifndef _InvaderEnemy_H__
35 #define _InvaderEnemy_H__
36 
37 #include "invader/InvaderPrereqs.h"
38 
40 
41 namespace orxonox
42 {
44  {
45  public:
46  InvaderEnemy(Context* context);
47 
48  virtual void tick(float dt) override;
49  virtual bool collidesAgainst(WorldEntity* otherObject, const btCollisionShape* ownCollisionShape, btManifoldPoint& contactPoint) override;
50  virtual void damage(float damage, float healthdamage, float shielddamage, Pawn* originator, const btCollisionShape* cs) override;
51  virtual void setInvaderPlayer(InvaderShip* player){this->player = player;}
52 
53  int level;
54  protected:
55  Invader* getGame();
59  bool isFireing;
60  float speed, damping;
61  float lastTimeFront, lastTimeLeft;
62  float lifetime;
63  struct Velocity
64  {
65  float x;
66  float y;
67  } velocity, desiredVelocity;
68 
69  };
70 }
71 
72 #endif /* _InvaderEnemy_H__ */
Everything in Orxonox that has a health attribute is a Pawn.
Definition: Pawn.h:56
Definition: Camera.h:43
Definition: Invader.h:46
Definition: InvaderEnemy.h:43
WeakPtr wraps a pointer to an object, which becomes nullptr if the object is deleted.
Definition: CorePrereqs.h:236
float x
Definition: InvaderEnemy.h:65
Definition: InvaderEnemy.h:63
The WorldEntity represents everything that can be put in a Scene at a certain location.
Definition: WorldEntity.h:72
float lifetime
Definition: InvaderEnemy.h:62
bool isFireing
Definition: InvaderEnemy.h:59
#define _InvaderExport
Definition: InvaderPrereqs.h:60
WeakPtr< Invader > game
Definition: InvaderEnemy.h:56
float y
Definition: InvaderEnemy.h:66
virtual void setInvaderPlayer(InvaderShip *player)
Definition: InvaderEnemy.h:51
Die Wagnis Klasse hat die folgenden Aufgaben:
Definition: ApplicationPaths.cc:66
float speed
Definition: InvaderEnemy.h:60
Camera * camera
Definition: InvaderEnemy.h:58
Definition: Context.h:45
Shared library macros, enums, constants and forward declarations for the Invader module ...
Definition: InvaderShip.h:44
int level
Definition: InvaderEnemy.h:53
WeakPtr< InvaderShip > player
Definition: InvaderEnemy.h:57
float lastTimeLeft
Definition: InvaderEnemy.h:61