DDNet documentation
Loading...
Searching...
No Matches
CMapSettingsBackend Class Reference

#include <editor_server_settings.h>

Inheritance diagram for CMapSettingsBackend:
[legend]
Collaboration diagram for CMapSettingsBackend:
[legend]

Classes

class  CContext
class  CContextWithInput
class  CHeadlessContext
class  CArgumentConstraintsBuilder
class  CCommandArgumentConstraintBuilder
struct  SLoadedMapSettings

Public Types

enum class  EArgConstraint { DEFAULT = 0 , UNIQUE , MULTIPLE }

Public Member Functions

 CMapSettingsBackend ()=default
void OnInit (CEditor *pEditor) override
void OnMapLoad () override
EArgConstraint ArgConstraint (const char *pSettingName, int Arg) const
const std::vector< SParsedMapSettingArg > & ParsedArgs (const std::shared_ptr< IMapSetting > &pSetting) const
CContextWithInput NewContextWithInput ()
CHeadlessContext NewHeadlessContext ()
Public Member Functions inherited from CEditorComponent
virtual void OnReset ()
virtual bool OnInput (const IInput::CEvent &Event)
virtual void OnUpdate ()
void InitSubComponents ()
void RegisterSubComponent (CEditorComponent &Component)
Public Member Functions inherited from CEditorObject
virtual ~CEditorObject ()=default
CEditor * Editor ()
const CEditor * Editor () const
CEditorMap * Map ()
const CEditorMap * Map () const
IInput * Input ()
const IInput * Input () const
IClient * Client ()
const IClient * Client () const
CConfig * Config ()
const CConfig * Config () const
IEngine * Engine ()
const IEngine * Engine () const
IGraphics * Graphics ()
const IGraphics * Graphics () const
ISound * Sound ()
const ISound * Sound () const
ITextRender * TextRender ()
const ITextRender * TextRender () const
IStorage * Storage ()
const IStorage * Storage () const
CUi * Ui ()
const CUi * Ui () const
CRenderMap * RenderMap ()
const CRenderMap * RenderMap () const

Private Types

typedef void(*) FLoaderFunction(const CSettingValuesBuilder &)
using TArgumentConstraints = std::map<int, EArgConstraint>
using TCommandArgumentConstraints = std::map<std::string, TArgumentConstraints>

Private Member Functions

void LoadAllMapSettings ()
void LoadCommand (const char *pName, const char *pArgs, const char *pHelp)
void LoadSettingInt (const std::shared_ptr< SMapSettingInt > &pSetting)
void LoadSettingCommand (const std::shared_ptr< SMapSettingCommand > &pSetting)
void InitValueLoaders ()
void LoadPossibleValues (const CSettingValuesBuilder &Builder, const std::shared_ptr< IMapSetting > &pSetting)
void RegisterLoader (const char *pSettingName, const FLoaderFunction &pfnLoader)
void LoadConstraints ()

Static Private Member Functions

static void PossibleConfigVariableCallback (const struct SConfigVariable *pVariable, void *pUserData)

Private Attributes

TCommandArgumentConstraints m_ArgConstraintsPerCommand
std::vector< std::shared_ptr< IMapSetting > > m_vpMapSettings
std::map< std::shared_ptr< IMapSetting >, std::vector< SParsedMapSettingArg > > m_ParsedCommandArgs
TSettingsArgumentValues m_PossibleValuesPerCommand
std::map< std::string, FLoaderFunction > m_LoaderFunctions
struct CMapSettingsBackend::SLoadedMapSettings m_LoadedMapSettings

Friends

class CEditor

Member Typedef Documentation

◆ FLoaderFunction

typedef void(*) CMapSettingsBackend::FLoaderFunction(const CSettingValuesBuilder &)
private

◆ TArgumentConstraints

◆ TCommandArgumentConstraints

Member Enumeration Documentation

◆ EArgConstraint

Enumerator
DEFAULT 
UNIQUE 
MULTIPLE 

Constructor & Destructor Documentation

◆ CMapSettingsBackend()

CMapSettingsBackend::CMapSettingsBackend ( )
default

Member Function Documentation

◆ ArgConstraint()

EArgConstraint CMapSettingsBackend::ArgConstraint ( const char * pSettingName,
int Arg ) const
inline

◆ InitValueLoaders()

void CMapSettingsBackend::InitValueLoaders ( )
private

◆ LoadAllMapSettings()

void CMapSettingsBackend::LoadAllMapSettings ( )
private

◆ LoadCommand()

void CMapSettingsBackend::LoadCommand ( const char * pName,
const char * pArgs,
const char * pHelp )
private

◆ LoadConstraints()

void CMapSettingsBackend::LoadConstraints ( )
private

◆ LoadPossibleValues()

void CMapSettingsBackend::LoadPossibleValues ( const CSettingValuesBuilder & Builder,
const std::shared_ptr< IMapSetting > & pSetting )
private

◆ LoadSettingCommand()

void CMapSettingsBackend::LoadSettingCommand ( const std::shared_ptr< SMapSettingCommand > & pSetting)
private

◆ LoadSettingInt()

void CMapSettingsBackend::LoadSettingInt ( const std::shared_ptr< SMapSettingInt > & pSetting)
private

◆ NewContextWithInput()

CContextWithInput CMapSettingsBackend::NewContextWithInput ( )
inline

◆ NewHeadlessContext()

CHeadlessContext CMapSettingsBackend::NewHeadlessContext ( )
inline

◆ OnInit()

void CMapSettingsBackend::OnInit ( CEditor * pEditor)
overridevirtual

Initialize the component and interface pointers. Needs to be the first function that is called. The default implementation also resets the component.

Reimplemented from CEditorComponent.

◆ OnMapLoad()

void CMapSettingsBackend::OnMapLoad ( )
overridevirtual

Reimplemented from CEditorComponent.

◆ ParsedArgs()

const std::vector< SParsedMapSettingArg > & CMapSettingsBackend::ParsedArgs ( const std::shared_ptr< IMapSetting > & pSetting) const
inline

◆ PossibleConfigVariableCallback()

void CMapSettingsBackend::PossibleConfigVariableCallback ( const struct SConfigVariable * pVariable,
void * pUserData )
staticprivate

◆ RegisterLoader()

void CMapSettingsBackend::RegisterLoader ( const char * pSettingName,
const FLoaderFunction & pfnLoader )
private

◆ CEditor

friend class CEditor
friend

Member Data Documentation

◆ m_ArgConstraintsPerCommand

TCommandArgumentConstraints CMapSettingsBackend::m_ArgConstraintsPerCommand
private

◆ m_LoadedMapSettings

struct CMapSettingsBackend::SLoadedMapSettings CMapSettingsBackend::m_LoadedMapSettings
private

◆ m_LoaderFunctions

std::map<std::string, FLoaderFunction> CMapSettingsBackend::m_LoaderFunctions
private

◆ m_ParsedCommandArgs

std::map<std::shared_ptr<IMapSetting>, std::vector<SParsedMapSettingArg> > CMapSettingsBackend::m_ParsedCommandArgs
private

◆ m_PossibleValuesPerCommand

TSettingsArgumentValues CMapSettingsBackend::m_PossibleValuesPerCommand
private

◆ m_vpMapSettings

std::vector<std::shared_ptr<IMapSetting> > CMapSettingsBackend::m_vpMapSettings
private

The documentation for this class was generated from the following files: