DayZ 1.24
Loading...
Searching...
No Matches
JsonObject.c
Go to the documentation of this file.
2{
8
17
19 {
20 Clear();
21 }
22
23 void Clear()
24 {
25 m_Strings.Clear();
26 m_Ints.Clear();
27 m_Floats.Clear();
28 m_Bools.Clear();
29 m_Vectors2.Clear();
30 }
31
32 void AddString(string name, string value)
33 {
35 value.Split("\"", strgs);
36
37 if (strgs.Count() > 1)
38 {
39 value = "";
40 int str_count = strgs.Count();
41
42 for (int i = 0; i < str_count; ++i)
43 {
44 string s = strgs[i];
45
46 int length = s.Length();
47
48 if (s[length - 1] != "\\")
49 {
50 value += s;
51
52 if (i < str_count - 1)
53 {
54 value += "\\";
55 value += "\"";
56 }
57 }
58 }
59 }
60
61 m_Strings.Insert(name, value);
62 }
63
64 void AddInt(string name, int value)
65 {
66 m_Ints.Insert(name, value);
67 }
68
69 void AddFloat(string name, float value)
70 {
71 m_Floats.Insert(name, value);
72 }
73
74 void AddBool(string name, bool value)
75 {
76 m_Bools.Insert(name, value);
77 }
78
79 void AddVector2(string name, float x, float y)
80 {
81 Vector2 v = new Vector2(x, y);
82 m_Vectors2.Insert(name, v);
83 }
84
85 string GetJson()
86 {
87 string name;
88 int i;
89
90 string jsn = "";
91 jsn += "{";
92
93 // Parse Strings
94 for (i = 0; i < m_Strings.Count(); ++i)
95 {
96 if (jsn.Length() > 1)
97 jsn += ",";
98
99 name = m_Strings.GetKey(i);
100 string value_str = m_Strings.GetElement(i);
101
102 jsn += "\"" + name + "\":\"" + value_str + "\"";
103 }
104
105 // Parse Ints
106 for (i = 0; i < m_Ints.Count(); ++i)
107 {
108 if (jsn.Length() > 1)
109 jsn += ",";
110
111 name = m_Ints.GetKey(i);
112 int value_int = m_Ints.GetElement(i);
113
114 jsn += "\"" + name + "\":" + value_int;
115 }
116
117 // Parse Floats
118 for (i = 0; i < m_Floats.Count(); ++i)
119 {
120 if (jsn.Length() > 1)
121 jsn += ",";
122
123 name = m_Floats.GetKey(i);
124 float value_flt = m_Floats.GetElement(i);
125
126 jsn += "\"" + name + "\":" + value_flt;
127 }
128
129 // Parse Bools
130 for (i = 0; i < m_Bools.Count(); ++i)
131 {
132 if (jsn.Length() > 1)
133 jsn += ",";
134
135 name = m_Bools.GetKey(i);
136
137 if (m_Bools.GetElement(i))
138 jsn += "\"" + name + "\":true";
139 else
140 jsn += "\"" + name + "\":false";
141 }
142
143 // Parse Vectors2
144 for (i = 0; i < m_Vectors2.Count(); ++i)
145 {
146 if (jsn.Length() > 1)
147 jsn += ",";
148
149 name = m_Vectors2.GetKey(i);
150 Vector2 value_vct = m_Vectors2.GetElement(i);
151
152 jsn += "\"" + name + "\":{\"x\":" + value_vct.x + ",\"y\":" + value_vct.y + "}";
153 }
154
155 jsn += "}";
156
157 return jsn;
158 }
159};
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
Icon x
Icon y
void AddVector2(string name, float x, float y)
Definition JsonObject.c:79
void AddBool(string name, bool value)
Definition JsonObject.c:74
void JsonObject()
Definition JsonObject.c:9
void Clear()
Definition JsonObject.c:23
ref map< string, string > m_Strings
Definition JsonObject.c:3
ref map< string, float > m_Floats
Definition JsonObject.c:5
void AddString(string name, string value)
Definition JsonObject.c:32
ref map< string, int > m_Ints
Definition JsonObject.c:4
ref map< string, ref Vector2 > m_Vectors2
Definition JsonObject.c:7
ref map< string, bool > m_Bools
Definition JsonObject.c:6
string GetJson()
Definition JsonObject.c:85
void ~JsonObject()
Definition JsonObject.c:18
void AddFloat(string name, float value)
Definition JsonObject.c:69
void AddInt(string name, int value)
Definition JsonObject.c:64