hl2_src-leak-2017/src/game/client/tf/tf_tips.h

58 lines
1.8 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: TF implementation of the IPresence interface
//
//=============================================================================
#ifndef TF_TIPS_H
#define TF_TIPS_H
#ifdef _WIN32
#pragma once
#endif
#include "tf_shareddefs.h"
struct CaptainCanteenAsset_t
{
char szImage[ MAX_PATH ];
float flRarity;
};
//-----------------------------------------------------------------------------
// Purpose: helper class for TF tips
//-----------------------------------------------------------------------------
class CTFTips : public CAutoGameSystem
{
public:
CTFTips();
virtual bool Init();
virtual char const *Name() { return "CTFTips"; }
const wchar_t *GetRandomTip( int &iClassUsed ); // iClassUsed will be filled in with the class that was selected
const wchar_t *GetNextClassTip( int iClass );
const wchar_t *GetArenaTip( void );
const wchar_t *GetAbuseReportTip( void );
const wchar_t *GetRandomMvMTip( int &iClassUsed ); // iClassUsed will be filled in with the class that was selected
void GetRandomCaptainCanteenImages( const char **ppchBody, const char **ppchMisc, const char **ppchHat );
private:
const wchar_t *GetTip( int iClass, int iTip );
const char *GetRandomCaptainCanteenAsset( CUtlVector< CaptainCanteenAsset_t > *pAssetBucket );
int m_iTipCount[TF_LAST_NORMAL_CLASS+1]; // how many tips there are for each class
int m_iTipCountAll; // how many tips there are total
int m_iCurrentClassTip; // index of current per-class tip
bool m_bInited; // have we been initialized
int m_iArenaTipCount;
int m_iMvMTipCount;
CUtlVector< CaptainCanteenAsset_t > m_CaptainCanteenBody;
CUtlVector< CaptainCanteenAsset_t > m_CaptainCanteenMisc;
CUtlVector< CaptainCanteenAsset_t > m_CaptainCanteenHat;
};
extern CTFTips g_TFTips;
#endif // TF_TIPS_H