//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // // $NoKeywords: $ //=============================================================================// #ifndef ACHIEVEMENT_NOTIFICATION_PANEL_H #define ACHIEVEMENT_NOTIFICATION_PANEL_H #ifdef _WIN32 #pragma once #endif #include #include "hudelement.h" using namespace vgui; class CAchievementNotificationPanel : public CHudElement, public EditablePanel { DECLARE_CLASS_SIMPLE(CAchievementNotificationPanel, EditablePanel); public: CAchievementNotificationPanel(const char *pElementName); virtual void Init(); virtual void ApplySchemeSettings(IScheme *scheme); virtual bool ShouldDraw(void); virtual void PerformLayout(void); virtual void LevelInit(void) { m_flHideTime = 0; } virtual void FireGameEvent(IGameEvent *event); virtual void OnTick(void); void AddNotification(const char *szIconBaseName, const wchar_t *pHeading, const wchar_t *pTitle); private: void ShowNextNotification(); void SetXAndWide(Panel *pPanel, int x, int wide); float m_flHideTime; Label *m_pLabelHeading; Label *m_pLabelTitle; EditablePanel *m_pPanelBackground; ImagePanel *m_pIcon; struct Notification_t { char szIconBaseName[255]; wchar_t szHeading[255]; wchar_t szTitle[255]; }; CUtlLinkedList m_queueNotification; }; #endif // ACHIEVEMENT_NOTIFICATION_PANEL_H