blob: 7f18dce779c9d1550aec2117bc1f734a50798189 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#pragma once
#include <openvic-simulation/types/fixed_point/FixedPoint.hpp>
#include <openvic-simulation/types/IdentifierRegistry.hpp>
namespace OpenVic {
/*For interface/Sound.sfx */
struct SoundEffectManager;
struct SoundEffect : HasIdentifier {
private:
friend struct SoundEffectManager;
std::string PROPERTY(file);
fixed_point_t PROPERTY(volume);
SoundEffect(std::string_view new_identifier, std::string_view new_file, fixed_point_t new_volume);
public:
SoundEffect(SoundEffect&&) = default;
};
struct SoundEffectManager {
private:
IdentifierRegistry<SoundEffect> IDENTIFIER_REGISTRY(sound_effect);
bool _load_sound_define(std::string_view sfx_identifier, ast::NodeCPtr root);
public:
bool load_sound_defines_file(ast::NodeCPtr root);
};
}
|