Orxonox  0.0.5 Codename: Arcturus
ExplosionPart.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  * Vedat Aydin
24  * Co-authors:
25  * ...
26  *
27  */
28 
29 #ifndef _ExplosionPart_H__
30 #define _ExplosionPart_H__
31 
32 #include "OrxonoxPrereqs.h"
33 
34 #include "graphics/Model.h"
36 #include "MovableEntity.h"
38 #include "core/CoreIncludes.h"
39 #include "core/GameMode.h"
40 #include "util/Exception.h"
41 #include "core/command/Executor.h"
42 #include "Scene.h"
43 #include "tools/Timer.h"
44 
45 
46  namespace orxonox
47 {
49  {
50  public:
51  ExplosionPart(Context* context);
52  ~ExplosionPart();
53  virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
54 
55  void Explode();
56  void stop();
57  void ActuallyExplode();
58 
59  void setMesh(const std::string& newString);
60  std::string& getMesh();
61  void setEffect1(const std::string& newString);
62  std::string& getEffect1();
63  void setEffect2(const std::string& newString);
64  std::string& getEffect2();
65  void setMinSpeed(float speed);
66  float getMinSpeed();
67  void setMaxSpeed(float speed);
68  float getMaxSpeed();
69  void setOffset(Vector3 newVector);
70  Vector3 getOffset();
71  void setDirection(Vector3 newDirection);
72  Vector3 getDirection();
73  void setAngle(float newAgnle);
74  float getAngle();
75  void setDelay(float newDelay);
76  float getDelay();
77 
78 
79  private:
80 
81  bool bStop_;
83 
84 
88 
89 
90  float minSpeed_;
91  float maxSpeed_;
95  Vector3 posOffset_;
96  Vector3 direction_;
97  float angle_;
98  float delay_;
99 
101 
103 
104 
105 
106  };
107 }
108 
109 #endif /* _ExplosionPart_H__ */
bool bStop_
Definition: ExplosionPart.h:81
Definition of Model Class.
::std::string string
Definition: gtest-port.h:756
ParticleInterface * effect2Particle_
Definition: ExplosionPart.h:87
Definition: MovableEntity.h:42
Timer destroyTimer_
Definition: ExplosionPart.h:102
std::string effect1_
Definition: ExplosionPart.h:93
float getAngle(const orxonox::Vector3 &myposition, const orxonox::Vector3 &mydirection, const orxonox::Vector3 &otherposition)
Gets the angle between my viewing direction and the direction to the position of the other object...
Definition: Math.cc:98
Definition of Scene Class.
Declaration of facilities to handle exceptions.
xmlelement
Definition: Super.h:519
float angle_
Definition: ExplosionPart.h:97
Declaration of the Timer class, used to call functions after a given time-interval.
Vector3 direction_
Definition: ExplosionPart.h:96
Value
Definition: ToolsPrereqs.h:71
Declaration of the orxonox::Executor class and the createExecutor() functions.
LODParticle::Value LOD_
Definition: ExplosionPart.h:82
Die Wagnis Klasse hat die folgenden Aufgaben:
Definition: ApplicationPaths.cc:66
std::string effect2_
Definition: ExplosionPart.h:94
std::string mesh_
Definition: ExplosionPart.h:92
Mode
Definition: CorePrereqs.h:102
Shared library macros, enums, constants and forward declarations for the orxonox library ...
Declaration of the GameMode class which stores and returns the current mode of the game...
Definition: ExplosionPart.h:48
Model * model_
Definition: ExplosionPart.h:85
float minSpeed_
Definition: ExplosionPart.h:90
Definition: Context.h:45
Defines several very important macros used to register objects, register classes, and to work with id...
#define _OrxonoxExport
Definition: OrxonoxPrereqs.h:60
float delay_
Definition: ExplosionPart.h:98
Definition: Model.h:46
float maxSpeed_
Definition: ExplosionPart.h:91
Timer is a helper class that executes a function after a given amount of seconds in game-time...
Definition: Timer.h:105
MovableEntity * explosionEntity_
Definition: ExplosionPart.h:100
Definition: ParticleInterface.h:39
Vector3 posOffset_
Definition: ExplosionPart.h:95
ParticleInterface * effect1Particle_
Definition: ExplosionPart.h:86