Sound Bakery  v0.1.0
Open-source audio middleware for games
|
Defines a database object with a changeable property. More...
#include <parameter.h>
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_delegate & | get_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_owner * | owner () const |
template<typename T > | |
T * | try_convert_object () noexcept |
Gets the most derived type of this object and upcasts it to T. | |
template<typename T > | |
const T * | try_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< object > | create_runtime_object (const rttr::type &type) |
std::shared_ptr< object > | load_object (YAML::Node &node) |
std::shared_ptr< database_object > | create_database_object (const rttr::type &type, bool addToDatabase=true) |
template<typename T > | |
std::shared_ptr< T > | create_runtime_object () |
template<typename T > | |
std::shared_ptr< T > | create_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 |
Defines a database object with a changeable property.
Used for changing effect parameters, choosing sounds and anything else.
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.
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.
|
inline |
Creates a parameter with min and max values set.
min | value of the parameter. |
max | value of the parameter. |
|
inline |
Copies this parameter to a runtime version, suitable for handling unique variations per game object etc.
|
inline |
Set the value of the parameter.
This sets the internal property and will therefore call any bound delegates.