Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

Last change on this file since 2359 was 2190, checked in by bensch, 20 years ago

orxonox/trunk: merged and copied all files from branches/chris into trunk. it all seems to be in propper order.

File size: 1.2 KB
RevLine 
[2077]1/*!
2    \file world_entity.h
[2190]3    \brief Definition of the basic WorldEntity
4*/
[2036]5
6#ifndef WORLD_ENTITY_H
7#define WORLD_ENTITY_H
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{       
16        friend class World;
[2077]17
[2036]18 public:
[2190]19  WorldEntity (bool isFree = false);
[2036]20  ~WorldEntity ();
21
[2190]22        Location* get_location ();
23        Placement* get_placement ();
24        void set_collision (CollisionCluster* newhull);
[2036]25
[2190]26        bool isFree ();
27       
28  //void addAbility(Ability* ability);
29  //void removeAbility(Ability* ability);
[2036]30
[2190]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);
[2036]40
[2190]41        virtual void left_world ();
[2036]42
43 private:
[2190]44  const bool bFree;     
45  bool bCollide;
46  bool bDraw;
[2036]47 
[2190]48        WorldEntity* owner;
49        CollisionCluster* collisioncluster;
50        Placement place;
51        Location loc;
[2036]52
[2190]53        void init( Location* spawnloc, WorldEntity* spawnowner);
54        void init( Placement* spawnplc, WorldEntity* spawnowner);
[2036]55};
56
57#endif
Note: See TracBrowser for help on using the repository browser.