Sound Bakery  v0.1.0
Open-source audio middleware for games
Loading...
Searching...
No Matches
sbk::engine::parameter< parameter_type > Class Template Reference

Defines a database object with a changeable property. More...

#include <parameter.h>

Inheritance diagram for sbk::engine::parameter< parameter_type >:
Collaboration diagram for sbk::engine::parameter< parameter_type >:

Public Types

using parameter_property = sbk::core::property< parameter_type >
 Defines the underlying property type used to store and broadcast values.
 
using local_parameter = std::pair< sbk_id, parameter_property >
 Defines the type used for passing local versions/variations of this parameter.
 
using local_parameter_value_pair = std::pair< sbk_id, parameter_type >
 Defines an ID to a parameter and a value for that parameter.
 

Public Member Functions

 parameter (parameter_type min, parameter_type max)
 Creates a parameter with min and max values set.
 
parameter_type get () const
 Get the current value of the parameter.
 
parameter_type get_default () const
 
void set (parameter_type value)
 Set the value of the parameter.
 
void set_default (parameter_type value)
 
parameter_property::property_changed_delegateget_delegate ()
 Get the parameter delegate that fires when changing the value.
 
local_parameter create_local_parameter_from_this () const
 Copies this parameter to a runtime version, suitable for handling unique variations per game object etc.
 
- Public Member Functions inherited from sbk::core::database_object
sbk_id get_database_id () const
 
void set_database_id (sbk_id id)
 
std::string_view get_database_name () const
 
void set_database_name (std::string_view name)
 
bool get_editor_hidden () const
 
void set_editor_hidden (bool hidden)
 
 operator sbk_id () const
 
MulticastDelegate< sbk_id, sbk_id > & get_on_update_id ()
 
MulticastDelegate< std::string_view, std::string_view > & get_on_update_name ()
 
- Public Member Functions inherited from sbk::core::object
object_ownerowner () const
 
template<typename T >
Ttry_convert_object () noexcept
 Gets the most derived type of this object and upcasts it to T.
 
template<typename T >
const Ttry_convert_object () const noexcept
 
rttr::type getType () const
 
void destroy ()
 
MulticastDelegate< object * > & get_on_destroy ()
 
- Public Member Functions inherited from sbk::core::object_owner
std::shared_ptr< objectcreate_runtime_object (const rttr::type &type)
 
std::shared_ptr< objectload_object (YAML::Node &node)
 
std::shared_ptr< database_objectcreate_database_object (const rttr::type &type, bool addToDatabase=true)
 
template<typename T >
std::shared_ptr< Tcreate_runtime_object ()
 
template<typename T >
std::shared_ptr< Tcreate_database_object ()
 
void remove_object (const std::shared_ptr< object > &object)
 
void destroy_all ()
 
std::vector< std::shared_ptr< object > > & get_objects ()
 
const std::vector< std::shared_ptr< object > > & get_objects () const
 

Detailed Description

template<typename parameter_type>
class sbk::engine::parameter< parameter_type >

Defines a database object with a changeable property.

Used for changing effect parameters, choosing sounds and anything else.

Member Typedef Documentation

◆ local_parameter

template<typename parameter_type >
using sbk::engine::parameter< parameter_type >::local_parameter = std::pair<sbk_id, parameter_property>

Defines the type used for passing local versions/variations of this parameter.

Uses a SB_ID for the parameter ID instead of DatabasePtr<T> to help when used in child classes.

◆ local_parameter_value_pair

template<typename parameter_type >
using sbk::engine::parameter< parameter_type >::local_parameter_value_pair = std::pair<sbk_id, parameter_type>

Defines an ID to a parameter and a value for that parameter.

Used when setting the value on a parameter. Local parameter values are not intended for storage. Rather, they are intended to be passed as parameters for setting for permanent versions of the parameter.

Constructor & Destructor Documentation

◆ parameter()

template<typename parameter_type >
sbk::engine::parameter< parameter_type >::parameter ( parameter_type  min,
parameter_type  max 
)
inline

Creates a parameter with min and max values set.

Parameters
minvalue of the parameter.
maxvalue of the parameter.

Member Function Documentation

◆ create_local_parameter_from_this()

template<typename parameter_type >
local_parameter sbk::engine::parameter< parameter_type >::create_local_parameter_from_this ( ) const
inline

Copies this parameter to a runtime version, suitable for handling unique variations per game object etc.

Returns
The runtime version of this parameter.

◆ set()

template<typename parameter_type >
void sbk::engine::parameter< parameter_type >::set ( parameter_type  value)
inline

Set the value of the parameter.

This sets the internal property and will therefore call any bound delegates.


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