Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================
#ifndef TF_DUCKLEADERBOARD_H
#define TF_DUCKLEADERBOARD_H
#ifdef _WIN32
#pragma once
#endif
#ifdef CLIENT_DLL
#include "tf_mapinfo.h"
#include "tf_leaderboardpanel.h"
#include "tf_controls.h"
#endif
extern const char* g_szDuckLeaderboardNames[];
#define TF_DUCK_ID "DUCK_ID"
#define DUCK_XP_SCALE 5000
#define DUCK_XP_WEIGHT_GENERATION 3
#define DUCK_XP_WEIGHT_OFFENSE 3
#define DUCK_XP_WEIGHT_DEFENSE 1
#define DUCK_XP_WEIGHT_OBJECTIVE 3
#define DUCK_XP_WEIGHT_TEAMMATE 3
#define DUCK_XP_WEIGHT_BONUS 50
enum EDuckLeaderboardTypes { TF_DUCK_SCORING_OVERALL_RATING = 0, TF_DUCK_SCORING_PERSONAL_GENERATION, TF_DUCK_SCORING_PERSONAL_PICKUP_OFFENSE, TF_DUCK_SCORING_PERSONAL_PICKUP_DEFENDED, TF_DUCK_SCORING_PERSONAL_PICKUP_OBJECTIVE, TF_DUCK_SCORING_TEAM_PICKUP_MY_DUCKS, TF_DUCK_SCORING_PERSONAL_BONUS_PICKUP, DUCK_NUM_LEADERBOARDS };
enum EDuckEventTypes { DUCK_CREATED = 1, DUCK_COLLECTED, };
enum EDuckFlags { DUCK_FLAG_OBJECTIVE = 1 << 0, DUCK_FLAG_BONUS = 1 << 1 };
#ifdef CLIENT_DLL
class CDucksLeaderboard : public CTFLeaderboardPanel { DECLARE_CLASS_SIMPLE( CDucksLeaderboard, CTFLeaderboardPanel ); public: CDucksLeaderboard( Panel *parent, const char *panelName, const char *pszDuckLeaderboardname ); virtual ~CDucksLeaderboard();
virtual void ApplySchemeSettings( IScheme *pScheme ) OVERRIDE; private: virtual bool UpdateLeaderboards() OVERRIDE; virtual bool GetLeaderboardData( CUtlVector< LeaderboardEntry_t* >& scores ) OVERRIDE;
const char *m_pszDuckLeaderboardName; CTFTextToolTip *m_pToolTip; vgui::EditablePanel *m_pToolTipEmbeddedPanel; };
class CDucksLeaderboardManager : public EditablePanel, CGameEventListener { DECLARE_CLASS_SIMPLE( CDucksLeaderboardManager, EditablePanel ); public: CDucksLeaderboardManager( Panel *parent, const char *panelName );
virtual void ApplySchemeSettings( IScheme *pScheme ) OVERRIDE; virtual void ApplySettings( KeyValues *inResourceData ) OVERRIDE; virtual void OnCommand( const char *command ) OVERRIDE; virtual void FireGameEvent( IGameEvent *event ) OVERRIDE;
virtual void OnThink(); private:
void NextPage(); void PrevPage(); void ShowPage( int nPage );
int m_nCurrentPage; CUtlVector< EditablePanel* > m_vecLeaderboards;
CTFTextToolTip *m_pToolTip; vgui::EditablePanel *m_pToolTipEmbeddedPanel; vgui::EditablePanel *m_pDimmer; float m_flFadeStartTime;
CPanelAnimationVarAliasType( int, m_iScoreStep, "score_step", "0", "proportional_int" ); };
#endif
#endif // TF_DUCKLEADERBOARD_H
|