Eris 1.3.18
ViewEntity.h
00001 #ifndef ERIS_VIEW_ENTITY_H_
00002 #define ERIS_VIEW_ENTITY_H_
00003 
00004 #include <Eris/Entity.h>
00005 
00006 namespace Eris {
00007 
00021 class ViewEntity : public Entity {
00022 friend class EntityRouter;
00023 public:
00024 
00031         ViewEntity(const std::string& id, TypeInfo* ty, View* view);
00032 
00033         virtual ~ViewEntity();
00034 
00035     virtual void shutdown();
00036 
00042     virtual View* getView() const;
00043 
00044 protected:
00045 
00049     View* m_view;
00050 
00055     EntityRouter* m_router;
00056 
00057     virtual void onTalk(const Atlas::Objects::Operation::RootOperation& talk);
00058 
00059     virtual void onSoundAction(
00060                 const Atlas::Objects::Operation::RootOperation& op);
00061 
00062     virtual void onVisibilityChanged(bool vis);
00063 
00064     virtual void onTaskAdded(Task* task);
00065 
00066     virtual void removeFromMovementPrediction();
00067 
00068     virtual void addToMovementPredition();
00069 
00070     virtual Entity* getEntity(const std::string& id);
00071 
00072     virtual TypeService* getTypeService() const;
00073 
00078     void task_ProgressRateChanged(Task* task);
00079 
00080 
00081 };
00082 
00083 inline View* ViewEntity::getView() const
00084 {
00085     return m_view;
00086 }
00087 }
00088 
00089 #endif /* VIEWENTITY_H_ */