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 #include "llanimalcontrols.h" 00040 #include "lllocalanimationobject.h" 00041 #include "llcape.h" 00042 00043 class LLViewerObject; 00044 class LLHUDEffect; 00045 //Ventrella 9/16/05 00046 class LLHUDAnimalControls; 00047 // End Ventrella 00048 class LLMessageSystem; 00049 00050 class LLHUDManager 00051 { 00052 public: 00053 LLHUDManager(); 00054 ~LLHUDManager(); 00055 00056 LLHUDEffect *createViewerEffect(const U8 type, BOOL send_to_sim = TRUE, BOOL originated_here = TRUE); 00057 00058 void updateEffects(); 00059 void sendEffects(); 00060 void cleanupEffects(); 00061 00062 static void processViewerEffect(LLMessageSystem *mesgsys, void **user_data); 00063 00064 static LLColor4 sParentColor; 00065 static LLColor4 sChildColor; 00066 00067 protected: 00068 LLDynamicArrayPtr<LLPointer<LLHUDEffect> > mHUDEffects; 00069 }; 00070 00071 extern LLHUDManager *gHUDManager; 00072 00073 #endif // LL_LLHUDMANAGER_H