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.
57 lines
1.4 KiB
57 lines
1.4 KiB
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose: Load item upgrade data from KeyValues
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================
|
|
|
|
#ifndef TF_UPGRADES_SHARED_H
|
|
#define TF_UPGRADES_SHARED_H
|
|
|
|
#ifdef CLIENT_DLL
|
|
#define CTFPlayer C_TFPlayer
|
|
#endif
|
|
|
|
class CTFPlayer;
|
|
|
|
class CMannVsMachineUpgrades
|
|
{
|
|
public:
|
|
char szAttrib[ MAX_ATTRIBUTE_DESCRIPTION_LENGTH ];
|
|
char szIcon[ MAX_PATH ];
|
|
float flIncrement;
|
|
float flCap;
|
|
int nCost;
|
|
int nUIGroup;
|
|
int nQuality;
|
|
int nTier; // If set, upgrades in the same tier - for the same player/item - will be mutually exclusive
|
|
};
|
|
|
|
|
|
class CMannVsMachineUpgradeManager : public CAutoGameSystem
|
|
{
|
|
public:
|
|
CMannVsMachineUpgradeManager();
|
|
|
|
virtual void LevelInitPostEntity();
|
|
virtual void LevelShutdownPostEntity();
|
|
|
|
void ParseUpgradeBlockForUIGroup( KeyValues *pKV, int iDefaultUIGroup );
|
|
|
|
int GetAttributeIndexByName( const char* pszAttributeName );
|
|
|
|
void LoadUpgradesFile( void );
|
|
void LoadUpgradesFileFromPath( const char *pszPath );
|
|
|
|
public:
|
|
CUtlVector< CMannVsMachineUpgrades > m_Upgrades;
|
|
|
|
private:
|
|
CUtlMap< const char*, int > m_AttribMap;
|
|
|
|
};
|
|
|
|
extern CMannVsMachineUpgradeManager g_MannVsMachineUpgrades;
|
|
int GetUpgradeStepData( CTFPlayer *pPlayer, int nWeaponSlot, int nUpgradeIndex, int &nCurrentStep, bool &bOverCap );
|
|
|
|
#endif // TF_UPGRADES_H
|