Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/playability/src/world_entities/weapons/laser_cannon.h @ 10345

Last change on this file since 10345 was 9869, checked in by bensch, 18 years ago

orxonox/trunk: merged the new_class_id branche back to the trunk.
merged with command:
svn merge https://svn.orxonox.net/orxonox/branches/new_class_id trunk -r9683:HEAD
no conflicts… puh..

File size: 1.5 KB
Line 
1/*!
2    @file weapon.h
3  *  a weapon that a player can use
4
5    A Player has a list of weapons, that can be choosen to shoot projectiles
6    (projectiles.{cc,h}) at enemies. These weapons can be shooted sequentially
7    or (if able) combined. Therefore you can choose the weapon mode = choose
8    a weapon.
9
10    A weapon is characterized by:
11     o firing-rate: the initial firing rate of a weapon (1/s = Herz)
12     o slowdown-factor: this is a factor d: exp(-d*x), d is element of all positive R. it determines how fast the firing-rate will slow down. if no slowdown: d=0, the bigger d is, the faster the weapon will slow down!
13     o energy-consumption: this determines the energy that has to be used to produce this projectile = costs per projectile
14
15    Furthermore there are some other attributes, that will help to represent a firing
16    weapon in this world:
17     o sound file/ressource: this is a pointer to the sound-file/ressource. however it may be represented
18     o shooting animation
19
20*/
21
22
23#ifndef _LASER_CANNON_H
24#define _LASER_CANNON_H
25
26#include "weapon.h"
27
28
29class LaserCannon : public Weapon
30  {
31    ObjectListDeclaration(LaserCannon);
32    public:
33    LaserCannon (const TiXmlElement* root = NULL);
34    virtual ~LaserCannon ();
35
36    void init();
37    virtual void loadParams(const TiXmlElement* root);
38
39    virtual void activate();
40    virtual void deactivate();
41
42    virtual void fire();
43
44  private:
45    PNode* objectComponent1;         //<! the gun is made of multiple parts, these PNodes represent their location and orientation
46  };
47
48#endif /* _LASER_CANNON_H */
Note: See TracBrowser for help on using the repository browser.