mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-09-01 23:19:18 +00:00
1
This commit is contained in:
@@ -0,0 +1,169 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef TF_HUD_SAXXYCONTEST_H
|
||||
#define TF_HUD_SAXXYCONTEST_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <vgui_controls/EditablePanel.h>
|
||||
#include "game_controls/basemodel_panel.h"
|
||||
|
||||
using namespace vgui;
|
||||
|
||||
class KeyValues;
|
||||
class CExButton;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
class CSaxxyAwardsPanel : public vgui::EditablePanel
|
||||
{
|
||||
DECLARE_CLASS_SIMPLE( CSaxxyAwardsPanel, vgui::EditablePanel );
|
||||
public:
|
||||
CSaxxyAwardsPanel( Panel *pParent, const char *pName );
|
||||
~CSaxxyAwardsPanel();
|
||||
|
||||
virtual void ApplySettings( KeyValues *pInResourceData );
|
||||
|
||||
void Refresh();
|
||||
|
||||
private:
|
||||
virtual void ApplySchemeSettings( IScheme *pScheme );
|
||||
virtual void PerformLayout();
|
||||
virtual void OnCommand( const char *pCommand );
|
||||
virtual void PaintBackground();
|
||||
|
||||
struct FlashInfo_t
|
||||
{
|
||||
int m_nCenterX;
|
||||
int m_nCenterY;
|
||||
int m_nCurW;
|
||||
int m_nCurH;
|
||||
int m_nMinSize;
|
||||
int m_nMaxSize;
|
||||
float m_flStartTime;
|
||||
float m_flLifeLength;
|
||||
ImagePanel *m_pPanel;
|
||||
bool m_bInUse;
|
||||
};
|
||||
|
||||
void Init();
|
||||
|
||||
void OnTick();
|
||||
void UpdateMousePos( float flElapsed );
|
||||
void RotateModel( float flElapsed );
|
||||
void CurtainsThink();
|
||||
void FlashThink( bool bOtherPanelsOpen );
|
||||
void SpotlightThink();
|
||||
void ClapsThink( float flCurTime, float flElapsed, bool bOtherPanelsOpen );
|
||||
|
||||
void SetupContestPanels();
|
||||
bool CreateFlash();
|
||||
void PlaceFlash( FlashInfo_t *pFlashInfo );
|
||||
void ClearFlash( FlashInfo_t *pFlashInfo );
|
||||
void ClearFlashes();
|
||||
void PlaySomeClaps();
|
||||
void SetNextPossibleClapTime( float *pClapTime );
|
||||
|
||||
int GetActiveFlashCount() const;
|
||||
int GetUnusedFlashCount() const;
|
||||
int GetUnusedFlashSlot() const;
|
||||
float GetCurrentTime() const;
|
||||
bool InInitialFreakoutPeriod() const;
|
||||
bool InFreakoutMode() const;
|
||||
bool CurtainsClosed() const;
|
||||
bool FlashingStartTimePassed() const;
|
||||
bool AreOtherPanelsOpen( float flCurTime );
|
||||
bool AreNonMainMenuPanelsOpen( VPANEL vRoot, const char **pCarePanels, int nNumCarePanels );
|
||||
VPANEL GetDialogsParent();
|
||||
|
||||
enum Consts_t
|
||||
{
|
||||
MAX_FLASHES = 3,
|
||||
MAX_GLOWS = 2,
|
||||
MAX_CLAPS = 2,
|
||||
};
|
||||
|
||||
CBaseModelPanel *m_pSaxxyModelPanel;
|
||||
Vector m_vSaxxyDefaultPos;
|
||||
CExButton *m_pSubmitButton;
|
||||
Panel *m_pInfoLabel;
|
||||
Panel *m_pContestOverLabel;
|
||||
EditablePanel *m_pBackgroundPanel;
|
||||
ImagePanel *m_pStageBgPanel;
|
||||
EditablePanel *m_pCurtainPanel; // Main container panel
|
||||
ImagePanel *m_pSpotlightPanel;
|
||||
float m_aClapPlayTimes[MAX_CLAPS];
|
||||
float m_flShowTime;
|
||||
float m_flNextPanelTestTime;
|
||||
VPANEL m_vDialogsParent;
|
||||
|
||||
struct CurtainInfo_t
|
||||
{
|
||||
CurtainInfo_t() : m_pPanel( NULL ) {}
|
||||
ImagePanel *m_pPanel;
|
||||
int m_aInitialPos[2];
|
||||
};
|
||||
CurtainInfo_t m_Curtains[2]; // [0] = left, [1] = right
|
||||
float m_flCurtainStartAnimTime;
|
||||
|
||||
KeyValues *m_pCameraFlashKv;
|
||||
|
||||
QAngle m_angModelRot;
|
||||
|
||||
FlashInfo_t m_aFlashes[ MAX_FLASHES ];
|
||||
int m_nNumTargetFlashes;
|
||||
float m_aFilteredMousePos[2][2]; // [0][0] and [0][1] is current mouse pos (x,y). [1][0] and [1][1] are target (x,y).
|
||||
float m_flLastTickTime;
|
||||
float m_flEarliestNextFlashTime;
|
||||
float m_flGlowFade;
|
||||
|
||||
static int sm_nShowCounter; // Will be 0 when the game first loads, and nonzero otherwise
|
||||
|
||||
CPanelAnimationVarAliasType( int, m_nFlashBoundsX, "flashbounds_x", "0", "proportional_xpos" );
|
||||
CPanelAnimationVarAliasType( int, m_nFlashBoundsY, "flashbounds_y", "0", "proportional_ypos" );
|
||||
CPanelAnimationVarAliasType( int, m_nFlashBoundsW, "flashbounds_w", "0", "proportional_xpos" );
|
||||
CPanelAnimationVarAliasType( int, m_nFlashBoundsH, "flashbounds_h", "0", "proportional_ypos" );
|
||||
|
||||
CPanelAnimationVarAliasType( int, m_nFlashStartSizeMin, "flashstartsize_min", "0", "proportional_xpos" );
|
||||
CPanelAnimationVarAliasType( int, m_nFlashStartSizeMax, "flashstartsize_max", "0", "proportional_xpos" );
|
||||
|
||||
CPanelAnimationVar( float, m_flFlashMaxScale, "flash_maxscale", "0.0f" );
|
||||
|
||||
CPanelAnimationVar( float, m_flFlashLifeLengthMin, "flash_lifelength_min", "0.0f" );
|
||||
CPanelAnimationVar( float, m_flFlashLifeLengthMax, "flash_lifelength_max", "0.0f" );
|
||||
|
||||
CPanelAnimationVar( float, m_flCurtainAnimDuration, "curtain_anim_duration", "0.0f" );
|
||||
CPanelAnimationVar( float, m_flOpenCurtainsTime, "curtain_open_time", "0.0f" );
|
||||
CPanelAnimationVar( float, m_flInitialFreakoutDuration, "initial_freakout_duration", "0.0f" );
|
||||
|
||||
CPanelAnimationVar( float, m_flFlashStartTime, "flash_start_time", "0.0f" );
|
||||
|
||||
CPanelAnimationVar( float, m_flClapSoundDuration, "clap_sound_duration", "0.0f" );
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
class CSaxxyAwardsSubmitForm : public vgui::EditablePanel
|
||||
{
|
||||
DECLARE_CLASS_SIMPLE( CSaxxyAwardsSubmitForm, vgui::EditablePanel );
|
||||
public:
|
||||
CSaxxyAwardsSubmitForm( Panel *pParent );
|
||||
|
||||
private:
|
||||
virtual void ApplySchemeSettings( IScheme *pScheme );
|
||||
virtual void PerformLayout();
|
||||
virtual void OnCommand( const char *pCommand );
|
||||
virtual void OnKeyCodeTyped( vgui::KeyCode nCode );
|
||||
|
||||
void Close();
|
||||
|
||||
vgui::TextEntry *m_pURLInput;
|
||||
vgui::ComboBox *m_pCategoryCombo;
|
||||
};
|
||||
|
||||
#endif //TF_HUD_SAXXYCONTEST_H
|
||||
Reference in New Issue
Block a user