00001 00032 #ifndef LL_LLHUDEFFECT_H 00033 #define LL_LLHUDEFFECT_H 00034 00035 #include "llhudobject.h" 00036 00037 #include "lluuid.h" 00038 #include "v4coloru.h" 00039 #include "llinterp.h" 00040 #include "llframetimer.h" 00041 #include "llmemory.h" 00042 00043 const F32 LL_HUD_DUR_SHORT = 1.f; 00044 00045 class LLMessageSystem; 00046 00047 00048 class LLHUDEffect : public LLHUDObject 00049 { 00050 public: 00051 void setNeedsSendToSim(const BOOL send_to_sim); 00052 BOOL getNeedsSendToSim() const; 00053 void setOriginatedHere(const BOOL orig_here); 00054 BOOL getOriginatedHere() const; 00055 00056 void setDuration(const F32 duration); 00057 void setColor(const LLColor4U &color); 00058 void setID(const LLUUID &id); 00059 const LLUUID &getID() const; 00060 00061 BOOL isDead() const; 00062 00063 friend class LLHUDManager; 00064 protected: 00065 LLHUDEffect(const U8 type); 00066 ~LLHUDEffect(); 00067 00068 /*virtual*/ void render(); 00069 00070 virtual void packData(LLMessageSystem *mesgsys); 00071 virtual void unpackData(LLMessageSystem *mesgsys, S32 blocknum); 00072 virtual void update(); 00073 00074 static void getIDType(LLMessageSystem *mesgsys, S32 blocknum, LLUUID &uuid, U8 &type); 00075 00076 protected: 00077 LLUUID mID; 00078 F32 mDuration; 00079 LLColor4U mColor; 00080 00081 BOOL mNeedsSendToSim; 00082 BOOL mOriginatedHere; 00083 }; 00084 00085 #endif // LL_LLHUDEFFECT_H