Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/branches/textEngine/src/world_entities/test_gun.cc @ 3681

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

orxonox/branches/textEngine: merged trunk here.
merged with command:
svn merge ../trunk textEngine -r 3467:HEAD
no conflicts

File size: 2.7 KB
Line 
1
2
3/*
4   orxonox - the future of 3D-vertical-scrollers
5
6   Copyright (C) 2004 orx
7
8   This program is free software; you can redistribute it and/or modify
9   it under the terms of the GNU General Public License as published by
10   the Free Software Foundation; either version 2, or (at your option)
11   any later version.
12
13   ### File Specific
14   main-programmer: Patrick Boenzli
15   co-programmer:
16
17
18   \todo: direction in which the projectile flights
19   \todo: a target to set/hit
20*/
21
22
23#include "test_gun.h"
24
25#include "stdincl.h"
26#include "world_entity.h"
27#include "model.h"
28#include "projectile.h"
29
30#include "vector.h"
31#include "list.h"
32
33using namespace std;
34
35
36/**
37   \brief standard constructor
38
39   creates a new weapon
40*/
41TestGun::TestGun (PNode* parent, Vector* coordinate, Quaternion* direction) 
42  :  Weapon (parent, coordinate, direction) 
43{}
44
45
46/**
47   \brief standard deconstructor
48*/
49TestGun::~TestGun () 
50{
51  // model will be deleted from WorldEntity-destructor
52}
53
54
55/**
56   \brief this activates the weapon
57
58   This is needed, since there can be more than one weapon on a ship. the
59   activation can be connected with an animation. for example the weapon is
60   been armed out.
61*/
62void TestGun::activate()
63{}
64
65
66/**
67   \brief this deactivates the weapon
68
69   This is needed, since there can be more than one weapon on a ship. the
70   activation can be connected with an animation. for example the weapon is
71   been armed out.
72*/
73void TestGun::deactivate()
74{}
75
76
77/**
78   \brief fires the weapon
79   
80   this is called from the player.cc, when fire-button is been pushed
81*/
82void TestGun::fire()
83{
84  //printf("TestGun::fire() - firing weapon now ---------------------------\n");
85  Projectile* pj = new Projectile();
86
87  Vector* v = new Vector();
88  *v = this->getAbsCoor();
89  pj->setAbsCoor(v);
90  Quaternion* q = new Quaternion();
91  *q = this->getAbsDir();
92  pj->setAbsDir(q);
93
94  pj->setFlightDirection(q);
95  //pj->setSpeed(this->getSpeed() * 0.025);
96
97
98
99  this->worldEntities->add(pj);
100}
101
102
103/**
104   \brief is called, when the weapon gets hit (=collide with something)
105   \param from which entity it is been hit
106   \param where it is been hit
107
108   this may not be used, since it would make the game relay complicated when one
109   can destroy the weapons of enemies or vice versa.
110*/
111void TestGun::hit (WorldEntity* entity, Vector* position) 
112{}
113
114
115/**
116   \brief is called, when the weapon is destroyed
117
118   this is in conjunction with the hit function, so when a weapon is able to get
119   hit, it can also be destoryed.
120*/
121void TestGun::destroy () 
122{}
123
124
125/**
126   \brief tick signal for time dependent/driven stuff
127*/
128void TestGun::tick (float time) 
129{}
130
131
132/**
133   \brief is called, when there is no fire button pressed
134*/
135void TestGun::weaponIdle()
136{}
137
138
139/**
140   \brief this will draw the weapon
141*/
142void TestGun::draw () 
143{}
144
Note: See TracBrowser for help on using the repository browser.