blob: 35d05dc41030ca9e51e40d4a20a713b7419a3028 (
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
30
31
|
#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 {
friend struct SoundEffectManager;
private:
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);
};
}
|