mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-04 18:41:51 +00:00
settings observers lifecycle
This commit is contained in:
parent
201209887f
commit
5b82b18c6f
6 changed files with 75 additions and 43 deletions
|
|
@ -47,13 +47,13 @@ void addWorldGenerators() {
|
|||
WorldGenerators::addGenerator<FlatWorldGenerator>("core:flat");
|
||||
}
|
||||
|
||||
inline void create_channel(std::string name, NumberSetting& setting) {
|
||||
inline void create_channel(Engine* engine, std::string name, NumberSetting& setting) {
|
||||
if (name != "master") {
|
||||
audio::create_channel(name);
|
||||
}
|
||||
setting.observe([=](auto value) {
|
||||
engine->keepAlive(setting.observe([=](auto value) {
|
||||
audio::get_channel(name)->setVolume(value*value);
|
||||
});
|
||||
}));
|
||||
}
|
||||
|
||||
Engine::Engine(EngineSettings& settings, EnginePaths* paths)
|
||||
|
|
@ -64,11 +64,11 @@ Engine::Engine(EngineSettings& settings, EnginePaths* paths)
|
|||
throw initialize_error("could not initialize window");
|
||||
}
|
||||
audio::initialize(settings.audio.enabled);
|
||||
create_channel("master", settings.audio.volumeMaster);
|
||||
create_channel("regular", settings.audio.volumeRegular);
|
||||
create_channel("music", settings.audio.volumeMusic);
|
||||
create_channel("ambient", settings.audio.volumeAmbient);
|
||||
create_channel("ui", settings.audio.volumeUI);
|
||||
create_channel(this, "master", settings.audio.volumeMaster);
|
||||
create_channel(this, "regular", settings.audio.volumeRegular);
|
||||
create_channel(this, "music", settings.audio.volumeMusic);
|
||||
create_channel(this, "ambient", settings.audio.volumeAmbient);
|
||||
create_channel(this, "ui", settings.audio.volumeUI);
|
||||
|
||||
auto resdir = paths->getResources();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue