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.
110 lines
2.7 KiB
110 lines
2.7 KiB
//========= 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
|