Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
MusicManagerSerializer.c
Go to the documentation of this file.
2{
3 //------------------------------------------------------------------------------------------------
4 override static typename GetTargetType()
5 {
6 return MusicManager;
7 }
8
9 //------------------------------------------------------------------------------------------------
10 override protected ESerializeResult Serialize(notnull IEntity entity, notnull SaveContext context)
11 {
12 const MusicManager musicManager = MusicManager.Cast(entity);
13
14 array<int> categories();
15 SCR_Enum.GetEnumValues(MusicCategory, categories);
16
17 array<string> mutedCategories();
18 foreach (auto category : categories)
19 {
20 if (musicManager.ServerIsCategoryMuted(category))
21 mutedCategories.Insert(SCR_Enum.GetEnumName(MusicCategory, category));
22 }
23
24 if (mutedCategories.IsEmpty())
25 return ESerializeResult.DEFAULT;
26
27 context.WriteValue("version", 1);
28 context.Write(mutedCategories);
29 return ESerializeResult.OK;
30 }
31
32 //------------------------------------------------------------------------------------------------
33 override protected bool Deserialize(notnull IEntity entity, notnull LoadContext context)
34 {
35 auto musicManager = MusicManager.Cast(entity);
36
37 int version;
38 context.Read(version);
39
40 array<string> mutedCategories;
41 context.Read(mutedCategories);
42 foreach (auto mutedCategory : mutedCategories)
43 {
44 const int category = typename.StringToEnum(MusicCategory, mutedCategory);
45 if (category != -1)
46 musicManager.RequestServerMuteCategory(category, true);
47 }
48
49 return true;
50 }
51}
class SCR_PersistentThreatSector GetTargetType()
bool Deserialize(notnull IEntity entity, notnull LoadContext context)
ESerializeResult Serialize(notnull IEntity entity, notnull SaveContext context)
MusicCategory
ESerializeResult