NDEVR
API Documentation

A program-defined unit that can be used for some specific task different from a program-wide unit. More...

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

Public Member Functions

 CustomUnit (const StringView &id, const TranslatedString &name, UnitCategory unit_type)
 Constructs a CustomUnit with the given identifier, name, and unit category.
virtual ~CustomUnit ()
 Virtual destructor.
virtual ConstPointer< UnitcurrentUnit ()
 Returns the current unit without a manager context.
virtual ConstPointer< UnitcurrentUnit (UnitManager &manager)
 Returns the current unit using the given manager context.
virtual ConstPointer< UnitdefaultUnit (UnitManager &) const =0
 Returns the default unit for this custom unit.
virtual void finishReadingINI (UnitManager &)
 Called after INI data has been read to finalize state.
virtual Buffer< ConstPointer< UnitOption > > options (UnitManager &manager) const =0
 Returns the available unit options for this custom unit.
virtual void prepareForINI (const UnitManager &)
 Prepares internal state for INI serialization.
virtual void resetToDefault (UnitManager &)
 Resets this custom unit to its default value.
virtual void setupINI (INIFactory &)=0
 Registers this custom unit's settings with the given INI factory.
virtual TranslatedString title () const
 Returns the translated display title.
virtual Resource< ConstPointer< Unit > > & unitResource (UnitManager &manager)=0
 Returns a mutable reference to the resource holding the current unit.

Public Attributes

String id
 The unique string identifier of this custom unit.
TranslatedString name
 The translated display name of this custom unit.
UnitCategory unit_type
 The category of unit this custom unit belongs to.

Detailed Description

A program-defined unit that can be used for some specific task different from a program-wide unit.


Class: BaseValues

Definition at line 154 of file UnitManager.h.

Constructor & Destructor Documentation

◆ CustomUnit()

CustomUnit::CustomUnit ( const StringView & id,
const TranslatedString & name,
UnitCategory unit_type )
inline

Constructs a CustomUnit with the given identifier, name, and unit category.

Parameters
[in]idThe unique string identifier for this custom unit.
[in]nameThe translated display name for this custom unit.
[in]unit_typeThe category of unit this custom unit belongs to.

Definition at line 163 of file UnitManager.h.

References id, name, and unit_type.

Referenced by ReferenceCustomUnit::ReferenceCustomUnit().

Member Function Documentation

◆ currentUnit() [1/2]

virtual ConstPointer< Unit > CustomUnit::currentUnit ( )
virtual

Returns the current unit without a manager context.

Returns
A const pointer to the current unit.

◆ currentUnit() [2/2]

virtual ConstPointer< Unit > CustomUnit::currentUnit ( UnitManager & manager)
virtual

Returns the current unit using the given manager context.

Parameters
[in]managerThe UnitManager providing unit context.
Returns
A const pointer to the current unit.

Reimplemented in ReferenceCustomUnit.

◆ defaultUnit()

virtual ConstPointer< Unit > CustomUnit::defaultUnit ( UnitManager & ) const
nodiscardpure virtual

Returns the default unit for this custom unit.

Parameters
[in]managerThe UnitManager providing unit context.
Returns
A const pointer to the default unit.

Implemented in BasicCustomUnit, and ReferenceCustomUnit.

◆ finishReadingINI()

virtual void CustomUnit::finishReadingINI ( UnitManager & )
inlinevirtual

Called after INI data has been read to finalize state.

Parameters
[in]managerThe UnitManager providing unit context.

Reimplemented in BasicCustomUnit, and ReferenceCustomUnit.

Definition at line 211 of file UnitManager.h.

◆ options()

virtual Buffer< ConstPointer< UnitOption > > CustomUnit::options ( UnitManager & manager) const
nodiscardpure virtual

Returns the available unit options for this custom unit.

Parameters
[in]managerThe UnitManager providing unit context.
Returns
A buffer of const pointers to UnitOption objects.

Implemented in BasicCustomUnit, and ReferenceCustomUnit.

◆ prepareForINI()

virtual void CustomUnit::prepareForINI ( const UnitManager & )
inlinevirtual

Prepares internal state for INI serialization.

Parameters
[in]managerThe UnitManager providing unit context.

Reimplemented in BasicCustomUnit, and ReferenceCustomUnit.

Definition at line 196 of file UnitManager.h.

◆ resetToDefault()

virtual void CustomUnit::resetToDefault ( UnitManager & )
virtual

Resets this custom unit to its default value.

Parameters
[in]managerThe UnitManager providing unit context.

Reimplemented in ReferenceCustomUnit.

◆ setupINI()

virtual void CustomUnit::setupINI ( INIFactory & )
pure virtual

Registers this custom unit's settings with the given INI factory.

Parameters
[in]iniThe INI factory to register with.

Implemented in BasicCustomUnit, and ReferenceCustomUnit.

◆ title()

virtual TranslatedString CustomUnit::title ( ) const
inlinenodiscardvirtual

Returns the translated display title.

Returns
The translated title string.

Reimplemented in BasicCustomUnit.

Definition at line 179 of file UnitManager.h.

References name.

◆ unitResource()

virtual Resource< ConstPointer< Unit > > & CustomUnit::unitResource ( UnitManager & manager)
nodiscardpure virtual

Returns a mutable reference to the resource holding the current unit.

Parameters
[in]managerThe UnitManager providing unit context.
Returns
A reference to the unit resource.

Implemented in BasicCustomUnit, and ReferenceCustomUnit.


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