Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/branches/images/src/world_entity.h @ 3110

Last change on this file since 3110 was 2551, checked in by patrick, 20 years ago

orxonox/trunk: minor changes - enhanced sc controll, fixed uncontrolled rotation effect, added some debug outputs for testing purposes, reformatted some src files from win style but not all

File size: 1.2 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
11class CollisionCluster;
12
13//! Basic class from which all interactive stuff in the world is derived from
14class WorldEntity
15{       
16  friend class World;
17 
18 public:
19  WorldEntity (bool isFree = false);
20  ~WorldEntity ();
21 
22  Location* get_location ();
23  Placement* get_placement ();
24  void set_collision (CollisionCluster* newhull);
25 
26  bool isFree ();
27 
28  //void addAbility(Ability* ability);
29  //void removeAbility(Ability* ability);
30 
31  virtual void post_spawn ();
32  virtual void tick (float time);
33  virtual void hit (WorldEntity* weapon, Vector loc);
34  virtual void destroy ();
35  virtual void collide (WorldEntity* other,  Uint32 ownhitflags, Uint32 otherhitflags);
36  virtual void command (Command* cmd);
37 
38  virtual void draw ();
39  virtual void get_lookat (Location* locbuf);
40 
41  virtual void left_world ();
42 
43 private:
44  const bool bFree;     
45  bool bCollide;
46  bool bDraw;
47 
48  WorldEntity* owner;
49  CollisionCluster* collisioncluster;
50  Placement place;
51  Location loc;
52 
53  void init( Location* spawnloc, WorldEntity* spawnowner);
54  void init( Placement* spawnplc, WorldEntity* spawnowner);
55};
56
57#endif
Note: See TracBrowser for help on using the repository browser.