Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

Last change on this file since 4597 was 4504, checked in by bensch, 19 years ago

orxonox/trunk: merged the SoundEngine into the Trunk.
merged file by file, but merged all the files in favor of the new trunk

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