//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: Holds the CEconGameServerAccount object // // $NoKeywords: $ //=============================================================================// #ifndef ECON_GAME_SERVER_ACCOUNT_H #define ECON_GAME_SERVER_ACCOUNT_H #ifdef _WIN32 #pragma once #endif enum eGameServerOrigin { kGSAOrigin_Player = 0, kGSAOrigin_Support = 1, kGSAOrigin_AutoRegister = 2, // for valve-owned servers }; enum eGameServerScoreStanding { kGSStanding_Good, kGSStanding_Bad, }; enum eGameServerScoreStandingTrend { kGSStandingTrend_Up, kGSStandingTrend_SteadyUp, kGSStandingTrend_Steady, kGSStandingTrend_SteadyDown, kGSStandingTrend_Down, }; #ifdef GC #include "gcsdk/schemasharedobject.h" //--------------------------------------------------------------------------------- // Purpose: //--------------------------------------------------------------------------------- class CEconGameServerAccount : public GCSDK::CSchemaSharedObject< CSchGameServerAccount, k_EEconTypeGameServerAccount > { #ifdef GC_DLL DECLARE_CLASS_MEMPOOL( CEconGameServerAccount ); #endif public: CEconGameServerAccount() {} CEconGameServerAccount( uint32 unAccountID ) { Obj().m_unAccountID = unAccountID; } }; void GameServerAccount_GenerateIdentityToken( char* pIdentityToken, uint32 unMaxChars ); #endif // GC inline const char *GameServerAccount_GetStandingString( eGameServerScoreStanding standing ) { const char *pStanding = "Good"; switch ( standing ) { case kGSStanding_Good: pStanding = "Good"; break; case kGSStanding_Bad: pStanding = "Bad"; break; } // switch return pStanding; } inline const char *GameServerAccount_GetStandingTrendString( eGameServerScoreStandingTrend trend ) { const char *pStandingTrend = "Steady"; switch ( trend ) { case kGSStandingTrend_Up: pStandingTrend = "Upward Fast"; break; case kGSStandingTrend_SteadyUp: pStandingTrend = "Slightly Upward"; break; case kGSStandingTrend_Steady: pStandingTrend = "Steady"; break; case kGSStandingTrend_SteadyDown: pStandingTrend = "Slightly Downward"; break; case kGSStandingTrend_Down: pStandingTrend = "Downward Fast"; break; } // switch return pStandingTrend; } //--------------------------------------------------------------------------------- // Purpose: Selective account-level data for game servers //--------------------------------------------------------------------------------- class CEconGameAccountForGameServers : public GCSDK::CProtoBufSharedObject < CSOEconGameAccountForGameServers, k_EEconTypeGameAccountForGameServers > { #ifdef GC DECLARE_CLASS_MEMPOOL( CEconGameAccountForGameServers ); public: virtual bool BIsDatabaseBacked() const { return false; } #endif }; #endif //ECON_GAME_SERVER_ACCOUNT_H