Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/trunk/src/world_entities/world_entity.h @ 3632

Last change on this file since 3632 was 3608, checked in by patrick, 19 years ago

orxonox/trunk: now there is a real speedup in compiling time when dependencies are modified: just realy only includes, what is needed. Byside the speedup, there is more overview! never add an orxonox class to stdincl.h if it doesn't have to be

File size: 1.6 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
[3365]9#include "p_node.h"
[3608]10#include "comincl.h"
[2036]11
[3474]12//class CollisionCluster;
[3583]13class CharacterAttributes;
[3608]14class OBJModel;
[2036]15
[3583]16
[2190]17//! Basic class from which all interactive stuff in the world is derived from
[3365]18class WorldEntity : public PNode
[2190]19{       
[2551]20  friend class World;
[3365]21
[2036]22 public:
[2190]23  WorldEntity (bool isFree = false);
[3221]24  virtual ~WorldEntity ();
[3365]25
[3531]26
[3583]27
[2551]28 
[3474]29  //void setCollision (CollisionCluster* newhull);
[2551]30 
[2190]31  //void addAbility(Ability* ability);
32  //void removeAbility(Ability* ability);
[3583]33  void setDrawable (bool bDraw); 
34  bool isFree ();
35  void setCharacterAttributes(CharacterAttributes* charAttr);
36  CharacterAttributes* getCharacterAttributes();
37
[3229]38  virtual void postSpawn ();
[3583]39  virtual void leftWorld ();
40
[3578]41  virtual void hit (WorldEntity* weapon, Vector* loc);
[2190]42  virtual void collide (WorldEntity* other,  Uint32 ownhitflags, Uint32 otherhitflags);
[2551]43  virtual void command (Command* cmd);
[3365]44
45  void processDraw ();
[2190]46  virtual void draw ();
[3583]47  virtual void tick (float time);
[2551]48 
[3583]49 protected:
50  OBJModel* model;                  //!< The model that should be loaded for this entity.
51  CharacterAttributes* charAttr;      //!< the character attributes of a world_entity
[2551]52 
[2036]53 private:
[3449]54  const bool bFree;                   //!< If the entity is free.
55  bool bCollide;                      //!< If it should be considered for the collisiontest.
56  bool bDraw;                         //!< If it should be visible.
[3365]57
[3583]58
59
[3474]60  //CollisionCluster* collisioncluster; //!< The collision-Cluster of this entity.
[2036]61};
62
[3224]63#endif /* _WORLD_ENTITY_H */
Note: See TracBrowser for help on using the repository browser.