00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include "Common/Time.h"
00012 #include "Render/Render.h"
00013 #include "Render/Font.h"
00014 #include "Mod/Mod.h"
00015
00016 #include "Mod_Aeternis_Client/A_Interface.h"
00017 #include "Mod_Aeternis_Client/A_ClientGameManager.h"
00018
00019 #include "Mod_Aeternis_Client/A_WinChangeTeam.h"
00020
00021 #define BUTTONTEAM1 "GUI/TeamFed"
00022 #define BUTTONTEAM1HL "GUI/TeamFed_HL"
00023 #define BUTTONTEAM1C "GUI/TeamFed_C"
00024 #define BUTTONTEAM2 "GUI/TeamResis"
00025 #define BUTTONTEAM2HL "GUI/TeamResis_HL"
00026 #define BUTTONTEAM2C "GUI/TeamResis_C"
00027 #define BUTTONTEAM3 "GUI/TeamSpectator"
00028 #define BUTTONTEAM3HL "GUI/TeamSpectator_HL"
00029 #define BUTTONTEAM3C "GUI/TeamSpectator_C"
00030
00031
00032
00033
00034 KAWinChangeTeam::KAWinChangeTeam( KWin* pFather, KFPt& Pos, KFPt& Size, KInterface* pInterface )
00035 : KWin( pFather, Pos, Size, pInterface )
00036 {
00037 m_hBackGround = KSHADER_NO;
00038
00039 KFPt ButtonSize = KFPt( 0.15f, 0.04f );
00040
00041
00042 m_pButtonTeam1 = new KButton( this, KFPt( 0.32f, 0.445f ) - ButtonSize / 2, ButtonSize, m_pInterface );
00043
00044 m_pButtonTeam2 = new KButton( this, KFPt( 0.32f, 0.5f ) - ButtonSize / 2, ButtonSize, m_pInterface );
00045
00046 m_pButtonTeam3 = new KButton( this, KFPt( 0.32f, 0.555f ) - ButtonSize / 2, ButtonSize, m_pInterface );
00047 }
00048
00049
00050 KAWinChangeTeam::~KAWinChangeTeam()
00051 {
00052 }
00053
00054
00055 void KAWinChangeTeam::Display()
00056 {
00057 u8 FadeAlpha = (u8)(255.0f * GetFade());
00058
00059 m_pInterface->ShowMouse();
00060
00061 u8 FadeBack = (u8)(240.0f * GetFade());
00062 DrawQuad( 0.2f, 0.35f, 0.6f, 0.3f, m_hBackGround, KRGBA( 255, 255, 255, FadeBack ) );
00063 }
00064
00065
00066 void KAWinChangeTeam::Manage()
00067 {
00068
00069 if( m_pButtonTeam1->IsClicked() )
00070 {
00071 ((KAClientGameManager*)g_pClientGameManager)->ChangeTeam( KMAT_BLUE );
00072 m_pButtonTeam1->Reset();
00073 Hide();
00074 }
00075
00076
00077 if( m_pButtonTeam2->IsClicked() )
00078 {
00079 ((KAClientGameManager*)g_pClientGameManager)->ChangeTeam( KMAT_RED );
00080 m_pButtonTeam2->Reset();
00081 Hide();
00082 }
00083
00084
00085 if( m_pButtonTeam3->IsClicked() )
00086 {
00087 ((KAClientGameManager*)g_pClientGameManager)->ChangeTeam( KMAT_SPECTATOR );
00088 m_pButtonTeam3->Reset();
00089 Hide();
00090 }
00091 }
00092
00093
00094 void KAWinChangeTeam::Load()
00095 {
00096 KWin::Load();
00097
00098 KASSERT( m_hBackGround == KSHADER_NO );
00099 m_hBackGround = m_pRender->GetpShaderBank()->LoadShader( "GUI/WinTeam" );
00100 m_pButtonTeam1->SetShaders( BUTTONTEAM1, BUTTONTEAM1HL, BUTTONTEAM1C );
00101 m_pButtonTeam2->SetShaders( BUTTONTEAM2, BUTTONTEAM2HL, BUTTONTEAM2C );
00102 m_pButtonTeam3->SetShaders( BUTTONTEAM3, BUTTONTEAM3HL, BUTTONTEAM3C );
00103 }
00104
00105
00106 void KAWinChangeTeam::Unload()
00107 {
00108 KWin::Unload();
00109
00110 if( m_hBackGround != KSHADER_NO )
00111 m_pRender->GetpShaderBank()->UnloadShader( m_hBackGround );
00112 }
00113