00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __AWINHUD_H__
00012 #define __AWINHUD_H__
00013
00014 #include "Mod_Aeternis_Client/Mod_Aeternis_ClientDll.h"
00015 #include "Mod_Aeternis/A_GameMessDefs.h"
00016 #include "Mod_Aeternis/A_Team.h"
00017 #include "Interface/Win.h"
00018 #include "Interface/Button.h"
00019
00020
00021 class MOD_AETERNIS_CLIENT_API KAWinHUD : public KWin
00022 {
00023 protected:
00024 KSHADER m_hBackGround;
00025 KSHADER m_hHud;
00026 KSHADER m_hNumbers;
00027 bool m_bDisplayVoiceCommand ;
00028 float m_fRadarPercentOutOfScreen ;
00029 float m_fWeaponBlocPercentOutOfScreen ;
00030 float m_fFlagBlocPercentOutOfScreen ;
00031 float m_fStatusBlocPercentOutOfScreen ;
00032 bool m_bDisplayRadar ;
00033 bool m_bDisplayFlagBloc ;
00034 bool m_bDisplayWeaponBloc ;
00035 bool m_bDisplayStatusBloc ;
00036 KStr m_psVoiceCommand[KAGVC_COUNT];
00037 KTIME m_BloodTime;
00038 KTIME m_BloodDuration;
00039
00040 void DisplayNumber( KFPt& Pos, KFPt& Size, s32 Number, KCOLOR Color, KCOLOR Specular );
00041 void DisplayNumbers( KFPt& Pos, KFPt& Size, s32 Numbers, KCOLOR Color = KRGB_WHITE, KCOLOR Specular = KRGB_BLACK );
00042 void DisplayAmmo( s32 Ammo );
00043 void DisplayLife( KHEALTH Health );
00044 void DisplayRadar( KMATEAM Team, float Zoom = 1.0f );
00045 void DisplayStatusPanel( KMATEAM Team, KAGAMEFLAGMODE RedFlagMode, s32 RedScore, KAGAMEFLAGMODE BlueFlagMode, s32 BlueScore, KHEALTH Health );
00046 void DisplayWeaponPanel( KFPt& Pos, KMATEAM Team );
00047 void DisplayFlagPanel( KFPt& Pos, KMATEAM Team );
00048 void DisplayInventory(KMATEAM Team) ;
00049 void DisplayFlag( KAGAMEFLAGMODE FlagMode, KMATEAM Team, s32 Score );
00050 void GetFlagUV( KAGAMEFLAGMODE FlagMode, float* pTU, float* pTV );
00051 KCOLOR GetTeamColor( KMATEAM Team );
00052
00053 void DisplayBlood();
00054
00055 public:
00056 KAWinHUD( KWin* pFather, KFPt& Pos, KFPt& Size, KInterface* pInterface );
00057 ~KAWinHUD();
00058
00059 virtual void Display();
00060 virtual void Manage();
00061
00062 void DisplayTime() ;
00063 void DisplayRadar( bool bDisplay );
00064 void DisplayVoiceCommand(bool bDisplay) ;
00065 void ShowBlood( KDAMAGE Damage );
00066
00067
00068 virtual void Load();
00069 virtual void Unload();
00070
00071 virtual bool OnKeyDown( u32 VirtKey, u32 KeyData );
00072 };
00073
00074 #endif __AWINHUD_H__