38 master_volume_name_text = std::make_unique<scene::text>();
39 master_volume_value_text = std::make_unique<scene::text>();
40 ambience_volume_name_text = std::make_unique<scene::text>();
41 ambience_volume_value_text = std::make_unique<scene::text>();
42 effects_volume_name_text = std::make_unique<scene::text>();
43 effects_volume_value_text = std::make_unique<scene::text>();
44 mono_audio_name_text = std::make_unique<scene::text>();
45 mono_audio_value_text = std::make_unique<scene::text>();
46 captions_name_text = std::make_unique<scene::text>();
47 captions_value_text = std::make_unique<scene::text>();
48 captions_size_name_text = std::make_unique<scene::text>();
49 captions_size_value_text = std::make_unique<scene::text>();
50 back_text = std::make_unique<scene::text>();
53 ctx.
menu_item_texts.push_back({master_volume_name_text.get(), master_volume_value_text.get()});
54 ctx.
menu_item_texts.push_back({ambience_volume_name_text.get(), ambience_volume_value_text.get()});
55 ctx.
menu_item_texts.push_back({effects_volume_name_text.get(), effects_volume_value_text.get()});
56 ctx.
menu_item_texts.push_back({mono_audio_name_text.get(), mono_audio_value_text.get()});
58 ctx.
menu_item_texts.push_back({captions_size_name_text.get(), captions_size_value_text.get()});
62 master_volume_name_text->set_content(
get_string(
ctx,
"sound_menu_master_volume"));
63 ambience_volume_name_text->set_content(
get_string(
ctx,
"sound_menu_ambience_volume"));
64 effects_volume_name_text->set_content(
get_string(
ctx,
"sound_menu_effects_volume"));
65 mono_audio_name_text->set_content(
get_string(
ctx,
"sound_menu_mono_audio"));
66 captions_name_text->set_content(
get_string(
ctx,
"sound_menu_captions"));
67 captions_size_name_text->set_content(
get_string(
ctx,
"sound_menu_captions_size"));
69 update_value_text_content();
81 auto increase_volume_callback = [
this, &
ctx](
float* volume)
93 this->update_value_text_content();
96 auto decrease_volume_callback = [
this, &
ctx](
float* volume)
108 this->update_value_text_content();
112 auto toggle_mono_audio_callback = [
this, &
ctx]()
116 this->update_value_text_content();
120 auto toggle_captions_callback = [
this, &
ctx]()
124 this->update_value_text_content();
128 auto increase_captions_size_callback = [
this, &
ctx]()
140 this->update_value_text_content();
144 auto decrease_captions_size_callback = [
this, &
ctx]()
156 this->update_value_text_content();
159 auto select_back_callback = [&
ctx]()
235 void sound_menu_state::update_value_text_content()
Abstract base class for game states.
std::vector< std::function< void()> > menu_left_callbacks
input::action menu_modifier_action
std::vector< std::function< void()> > menu_right_callbacks
hsm::state_machine< game_state > state_machine
std::vector< std::function< void()> > menu_select_callbacks
std::vector< std::tuple< scene::text *, scene::text * > > menu_item_texts
std::queue< std::function< void()> > function_queue
std::function< void()> menu_back_callback
log_message< log_message_severity::trace, Args... > log_trace
Formats and logs a trace message.
User-defined literals for compile-time string hashing.
constexpr vector< T, N > round(const vector< T, N > &x)
Performs a element-wise round operation.
std::string get_string(const ::game &ctx, hash::fnv1a32_t key)
Returns a localized string.