PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
audio_serialization.h
1#pragma once
2
3#include "pixelbullet/audio/audio_load_mode.h"
4#include "pixelbullet/serialization/node.h"
5
6#include <string>
7
8namespace pixelbullet
9{
10inline Node& operator<<(Node& node, const AudioLoadMode& value)
11{
12 switch (value)
13 {
14 case AudioLoadMode::Auto:
15 node << "Auto";
16 break;
17 case AudioLoadMode::Stream:
18 node << "Stream";
19 break;
20 case AudioLoadMode::Decode:
21 node << "Decode";
22 break;
23 }
24 return node;
25}
26
27inline const Node& operator>>(const Node& node, AudioLoadMode& value)
28{
29 std::string serialized;
30 node >> serialized;
31 if (serialized == "Stream")
32 {
33 value = AudioLoadMode::Stream;
34 }
35 else if (serialized == "Decode")
36 {
37 value = AudioLoadMode::Decode;
38 }
39 else
40 {
41 value = AudioLoadMode::Auto;
42 }
43 return node;
44}
45} // namespace pixelbullet
Represents a hierarchical node capable of storing various data types and supporting YAML serializatio...
Definition node.h:49