mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-17 06:03:02 +00:00
1
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose: Helper class for cvars that have restrictions on their value.
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef CONVAR_SERVERBOUNDED_H
|
||||
#define CONVAR_SERVERBOUNDED_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
|
||||
// This class is used to virtualize a ConVar's value, so the client can restrict its
|
||||
// value while connected to a server. When using this across modules, it's important
|
||||
// to dynamic_cast it to a ConVar_ServerBounded or you won't get the restricted value.
|
||||
//
|
||||
// NOTE: FCVAR_USERINFO vars are not virtualized before they are sent to the server
|
||||
// (we have no way to detect if the virtualized value would change), so
|
||||
// if you want to use a bounded cvar's value on the server, you must rebound it
|
||||
// the same way the client does.
|
||||
class ConVar_ServerBounded : public ConVar
|
||||
{
|
||||
public:
|
||||
ConVar_ServerBounded( char const *pName, char const *pDefaultValue, int flags, char const *pHelpString )
|
||||
: ConVar( pName, pDefaultValue, flags, pHelpString )
|
||||
{
|
||||
}
|
||||
|
||||
ConVar_ServerBounded( char const *pName, char const *pDefaultValue, int flags, char const *pHelpString, FnChangeCallback_t callback )
|
||||
: ConVar( pName, pDefaultValue, flags, pHelpString, callback )
|
||||
{
|
||||
}
|
||||
|
||||
ConVar_ServerBounded( char const *pName, char const *pDefaultValue, int flags, char const *pHelpString, bool bMin, float fMin, bool bMax, float fMax )
|
||||
: ConVar( pName, pDefaultValue, flags, pHelpString, bMin, fMin, bMax, fMax ) {}
|
||||
|
||||
// You must implement GetFloat.
|
||||
virtual float GetFloat() const = 0;
|
||||
|
||||
// You can optionally implement these.
|
||||
virtual int GetInt() const { return (int)GetFloat(); }
|
||||
virtual bool GetBool() const { return ( GetInt() != 0 ); }
|
||||
|
||||
// Use this to get the underlying cvar's value.
|
||||
float GetBaseFloatValue() const
|
||||
{
|
||||
return ConVar::GetFloat();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
#endif // CONVAR_SERVERBOUNDED_H
|
||||
Reference in New Issue
Block a user