Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/FICN/src/orxonox/objects/weapon_system/BulletManager.h @ 734

Last change on this file since 734 was 733, checked in by rgrieder, 17 years ago
  • moved BaseObject to core
File size: 1.8 KB
Line 
1/*
2 *   ORXONOX - the hottest 3D action shooter ever to exist
3 *
4 *
5 *   License notice:
6 *
7 *   This program is free software: you can redistribute it and/or modify
8 *   it under the terms of the GNU General Public License as published by
9 *   the Free Software Foundation, either version 3 of the License, or
10 *   (at your option) any later version.
11 *
12 *   This program is distributed in the hope that it will be useful,
13 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
14 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 *   GNU General Public License for more details.
16 *
17 *   You should have received a copy of the GNU General Public License
18 *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 *
20 *
21 *   Author:
22 *      Reto Grieder
23 *   Co-authors:
24 *      ...
25 *
26 */
27
28
29#ifndef _BulletManager_H__
30#define _BulletManager_H__
31
32#include <string>
33
34#include <OgrePrerequisites.h>
35
36#include "../../OrxonoxPrereqs.h"
37
38#include "network/Synchronisable.h"
39#include "tinyxml/tinyxml.h"
40#include "../../core/CoreIncludes.h"
41#include "orxonox/core/BaseObject.h"
42#include "../Tickable.h"
43
44namespace orxonox {
45  class _OrxonoxExport BulletManager : public BaseObject, public network::Synchronisable, public Tickable
46  {
47  public:
48    BulletManager();
49          virtual ~BulletManager();
50
51    void addBullet(Bullet*);
52
53    int getAmmunitionID(const std::string&);
54
55    int getNumberOfAmmos();
56
57    virtual void tick(float dt);
58
59    inline virtual void loadParams(TiXmlElement* xmlElem) { BaseObject::loadParams(xmlElem); };
60
61  protected:
62    inline bool create() { return true; }
63
64    // Bullet array
65          Bullet **bullets_;
66          int bulletsSize_;
67          int bulletsIndex_;
68  };
69  ExportClass(BulletManager, Orxonox);
70}
71
72#endif /* _BulletManager_H__ */
Note: See TracBrowser for help on using the repository browser.