00001 00032 #ifndef LL_LLHUDMANAGER_H 00033 #define LL_LLHUDMANAGER_H 00034 00035 // Responsible for managing all HUD elements. 00036 00037 #include "llhudobject.h" 00038 #include "lldarray.h" 00039 00040 class LLViewerObject; 00041 class LLHUDEffect; 00042 //Ventrella 9/16/05 00043 class LLHUDAnimalControls; 00044 // End Ventrella 00045 class LLMessageSystem; 00046 00047 class LLHUDManager : public LLSingleton<LLHUDManager> 00048 { 00049 public: 00050 LLHUDManager(); 00051 ~LLHUDManager(); 00052 00053 LLHUDEffect *createViewerEffect(const U8 type, BOOL send_to_sim = TRUE, BOOL originated_here = TRUE); 00054 00055 void updateEffects(); 00056 void sendEffects(); 00057 void cleanupEffects(); 00058 00059 static void shutdownClass(); 00060 00061 static void processViewerEffect(LLMessageSystem *mesgsys, void **user_data); 00062 00063 static LLColor4 sParentColor; 00064 static LLColor4 sChildColor; 00065 00066 protected: 00067 LLDynamicArrayPtr<LLPointer<LLHUDEffect> > mHUDEffects; 00068 }; 00069 00070 #endif // LL_LLHUDMANAGER_H