Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/branches/dave/src/world_entity.h @ 3542

Last change on this file since 3542 was 3365, checked in by bensch, 20 years ago

orxonox/trunk: merged branches/parenting back to the.
merged with command:
svn merge branches/parenting trunk -r 3247:HEAD
resolved all conflicts in favor of parenting.

File size: 1.1 KB
Line 
1/*!
2    \file world_entity.h
3    \brief Definition of the basic WorldEntity
4*/
5
6#ifndef _WORLD_ENTITY_H
7#define _WORLD_ENTITY_H
8
9#include "stdincl.h"
10#include "p_node.h"
11
12class CollisionCluster;
13class Model;
14
15//! Basic class from which all interactive stuff in the world is derived from
16class WorldEntity : public PNode
17{       
18  friend class World;
19
20 public:
21  WorldEntity (bool isFree = false);
22  virtual ~WorldEntity ();
23
24  Model* model;
25 
26  void setCollision (CollisionCluster* newhull);
27 
28  bool isFree ();
29 
30  //void addAbility(Ability* ability);
31  //void removeAbility(Ability* ability);
32 
33  virtual void postSpawn ();
34  virtual void tick (float time);
35  virtual void hit (WorldEntity* weapon, Vector loc);
36  virtual void destroy ();
37  virtual void collide (WorldEntity* other,  Uint32 ownhitflags, Uint32 otherhitflags);
38  virtual void command (Command* cmd);
39
40  void processDraw ();
41  virtual void draw ();
42  void setDrawable (bool bDraw);
43 
44  virtual void leftWorld ();
45 
46 private:
47  const bool bFree;     
48  bool bCollide;
49  bool bDraw;
50
51  CollisionCluster* collisioncluster;
52};
53
54#endif /* _WORLD_ENTITY_H */
Note: See TracBrowser for help on using the repository browser.