Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/trunk/src/world_entities/weapons/test_gun.h @ 4885

Last change on this file since 4885 was 4885, checked in by bensch, 19 years ago

orxonox/trunk: merged the weaponSystem back to the trunk, because it seems safe
merged with command:
svn merge -r 4847:HEAD branches/weaponSystem/ trunk/
conflict in file src/world-entities/weapons/weapon.h resolved in favor of the weaponSystem

File size: 1.9 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 ennemies. 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 _TEST_GUN_H
24#define _TEST_GUN_H
25
26#include "weapon.h"
27
28class Projectile;
29class Vector;
30class Quaternion;
31class Animation3D;
32
33
34class TestGun : public Weapon
35{
36  public:
37    TestGun (PNode* parent, const Vector& coordinate, const Quaternion& direction, int leftRight);
38    virtual ~TestGun ();
39
40    virtual void activate();
41    virtual void deactivate();
42
43    virtual void fire();
44    virtual void hit (WorldEntity* weapon, Vector* loc);
45    virtual void destroy();
46
47    virtual void weaponIdle();
48    virtual void draw();
49
50  private:
51    Animation3D* animation1;
52    Animation3D* animation2;
53    Animation3D* animation3;
54
55    PNode* objectComponent1;         //<! the gun is made of multiple parts, these PNodes represent their location and orientation
56    PNode* objectComponent2;
57    PNode* objectComponent3;
58
59    Vector projectileOffset;
60    int leftRight;   // this will become an enum
61
62
63
64};
65
66#endif /* _TEST_GUN_H */
Note: See TracBrowser for help on using the repository browser.