MCPcopy Create free account
hub / github.com/FlaxEngine/FlaxEngine / Deserialize

Method Deserialize

Source/Engine/Tools/TextureTool/TextureTool.cpp:149–197  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

147}
148
149void TextureTool::Options::Deserialize(DeserializeStream& stream, ISerializeModifier* modifier)
150{
151 // Restore general import options
152 Type = JsonTools::GetEnum(stream, "Type", Type);
153 IsAtlas = JsonTools::GetBool(stream, "IsAtlas", IsAtlas);
154 NeverStream = JsonTools::GetBool(stream, "NeverStream", NeverStream);
155 Compress = JsonTools::GetBool(stream, "Compress", Compress);
156 IndependentChannels = JsonTools::GetBool(stream, "IndependentChannels", IndependentChannels);
157 sRGB = JsonTools::GetBool(stream, "sRGB", sRGB);
158 GenerateMipMaps = JsonTools::GetBool(stream, "GenerateMipMaps", GenerateMipMaps);
159 FlipY = JsonTools::GetBool(stream, "FlipY", FlipY);
160 FlipX = JsonTools::GetBool(stream, "FlipX", FlipX);
161 InvertRedChannel = JsonTools::GetBool(stream, "InvertRedChannel", InvertRedChannel);
162 InvertGreenChannel = JsonTools::GetBool(stream, "InvertGreenChannel", InvertGreenChannel);
163 InvertBlueChannel = JsonTools::GetBool(stream, "InvertBlueChannel", InvertBlueChannel);
164 InvertAlphaChannel = JsonTools::GetBool(stream, "InvertAlphaChannel", InvertAlphaChannel);
165 ReconstructZChannel = JsonTools::GetBool(stream, "ReconstructZChannel", ReconstructZChannel);
166 Resize = JsonTools::GetBool(stream, "Resize", Resize);
167 KeepAspectRatio = JsonTools::GetBool(stream, "KeepAspectRatio", KeepAspectRatio);
168 PreserveAlphaCoverage = JsonTools::GetBool(stream, "PreserveAlphaCoverage", PreserveAlphaCoverage);
169 PreserveAlphaCoverageReference = JsonTools::GetFloat(stream, "PreserveAlphaCoverageReference", PreserveAlphaCoverageReference);
170 TextureGroup = JsonTools::GetInt(stream, "TextureGroup", TextureGroup);
171 Scale = JsonTools::GetFloat(stream, "Scale", Scale);
172 SizeX = JsonTools::GetInt(stream, "SizeX", SizeX);
173 SizeY = JsonTools::GetInt(stream, "SizeY", SizeY);
174 MaxSize = JsonTools::GetInt(stream, "MaxSize", MaxSize);
175
176 // Load sprites
177 // Note: we use it if no sprites in texture header has been loaded earlier
178 auto* spritesMember = stream.FindMember("Sprites");
179 if (spritesMember != stream.MemberEnd() && Sprites.IsEmpty())
180 {
181 auto& spritesArray = spritesMember->value;
182 ASSERT(spritesArray.IsArray());
183 Sprites.EnsureCapacity(spritesArray.Size());
184
185 for (uint32 i = 0; i < spritesArray.Size(); i++)
186 {
187 Sprite s;
188 auto& stData = spritesArray[i];
189
190 s.Area.Location = JsonTools::GetFloat2(stData, "Position", Float2::Zero);
191 s.Area.Size = JsonTools::GetFloat2(stData, "Size", Float2::One);
192 s.Name = JsonTools::GetString(stData, "Name");
193
194 Sprites.Add(s);
195 }
196 }
197}
198
199#if USE_EDITOR
200

Callers

nothing calls this directly

Calls 12

GetEnumFunction · 0.85
GetFloat2Function · 0.85
FindMemberMethod · 0.80
MemberEndMethod · 0.80
GetBoolFunction · 0.50
GetFloatFunction · 0.50
GetIntFunction · 0.50
GetStringFunction · 0.50
IsEmptyMethod · 0.45
EnsureCapacityMethod · 0.45
SizeMethod · 0.45
AddMethod · 0.45

Tested by

no test coverage detected