Orxonox  0.0.5 Codename: Arcturus
IceGun.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  * Fabien Vultier
24  * Co-authors:
25  * ...
26  *
27  */
28 
34 #ifndef _IceGun_H__
35 #define _IceGun_H__
36 
37 #include "weapons/WeaponsPrereqs.h"
39 
40 namespace orxonox
41 {
42 
51  {
52  public:
53  IceGun(Context* context);
54  virtual ~IceGun();
55 
56  virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
57  virtual void fire() override;
58 
59  inline void setFreezeTime(float freezeTime)
60  { this->freezeTime_ = freezeTime; }
61  inline float getFreezeTime() const
62  { return this->freezeTime_; }
63  inline void setFreezeFactor(float freezeFactor)
64  { this->freezeFactor_ = freezeFactor; }
65  inline float getFreezeFactor() const
66  { return this->freezeFactor_; }
67 
68  private:
69  float speed_; //The speed of the fired projectile.
70  float freezeTime_; //The duration of the freezing effect on a target
71  float freezeFactor_; //The strength of the freezing effect
72  };
73 }
74 
75 #endif /* _IceGun_H__ */
float speed_
Definition: IceGun.h:69
Shared library macros, enums, constants and forward declarations for the weapons module ...
xmlelement
Definition: Super.h:519
A WeaponMode defines how a Weapon is used.
Definition: WeaponMode.h:49
void setFreezeFactor(float freezeFactor)
Definition: IceGun.h:63
float getFreezeTime() const
Definition: IceGun.h:61
A Gun that fires ice arrows that slow down any SpaceShip object that gets hit.
Definition: IceGun.h:50
float getFreezeFactor() const
Definition: IceGun.h:65
Die Wagnis Klasse hat die folgenden Aufgaben:
Definition: ApplicationPaths.cc:66
Mode
Definition: CorePrereqs.h:102
Definition: Context.h:45
float freezeTime_
Definition: IceGun.h:70
float freezeFactor_
Definition: IceGun.h:71
#define _WeaponsExport
Definition: WeaponsPrereqs.h:60
void setFreezeTime(float freezeTime)
Definition: IceGun.h:59