Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/trunk/src/world_entity.h @ 3274

Last change on this file since 3274 was 3229, checked in by patrick, 20 years ago

orxonox/trunk: unstable - WorldEntity cleaned

File size: 1.3 KB
RevLine 
[2077]1/*!
2    \file world_entity.h
[2190]3    \brief Definition of the basic WorldEntity
4*/
[2036]5
[3224]6#ifndef _WORLD_ENTITY_H
7#define _WORLD_ENTITY_H
[2036]8
[2190]9#include "stdincl.h"
[2036]10
[2190]11class CollisionCluster;
[2036]12
[2190]13//! Basic class from which all interactive stuff in the world is derived from
14class WorldEntity
15{       
[2551]16  friend class World;
17 
[2036]18 public:
[2190]19  WorldEntity (bool isFree = false);
[3221]20  virtual ~WorldEntity ();
[2551]21 
[3229]22  Location* getLocation ();
23  Placement* getPlacement ();
24  void setCollision (CollisionCluster* newhull);
[2551]25 
26  bool isFree ();
27 
[2190]28  //void addAbility(Ability* ability);
29  //void removeAbility(Ability* ability);
[2551]30 
[3229]31  virtual void postSpawn ();
[2190]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);
[2551]36  virtual void command (Command* cmd);
[2190]37 
38  virtual void draw ();
[3229]39  virtual void getLookat (Location* locbuf);
[2551]40 
[3229]41  virtual void leftWorld ();
[2551]42 
[2036]43 private:
[2190]44  const bool bFree;     
45  bool bCollide;
46  bool bDraw;
[2036]47 
[2551]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);
[2036]55};
56
[3224]57#endif /* _WORLD_ENTITY_H */
Note: See TracBrowser for help on using the repository browser.