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

Method DeserializeObject

Source/Engine/Content/Assets/VisualScript.cpp:2057–2087  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2055}
2056
2057void VisualScriptingBinaryModule::DeserializeObject(ISerializable::DeserializeStream& stream, ScriptingObject* object, ISerializeModifier* modifier)
2058{
2059 PROFILE_MEM(ScriptingVisual);
2060 ASSERT(stream.IsObject());
2061 Locker.Lock();
2062 const auto asset = Scripts[object->GetTypeHandle().TypeIndex].Get();
2063 Locker.Unlock();
2064 if (asset)
2065 {
2066 ScopeLock lock(asset->Locker);
2067 const auto instanceParams = asset->_instances.Find(object->GetID());
2068 if (instanceParams)
2069 {
2070 // Deserialize all parameters
2071 auto& params = instanceParams->Value.Params;
2072 for (auto i = stream.MemberBegin(); i != stream.MemberEnd(); ++i)
2073 {
2074 StringAnsiView idNameAnsi(i->name.GetStringAnsiView());
2075 Guid paramId;
2076 if (!Guid::Parse(idNameAnsi, paramId))
2077 {
2078 int32 paramIndex;
2079 if (asset->Graph.GetParameter(paramId, paramIndex))
2080 {
2081 Serialization::Deserialize(i->value, params[paramIndex], modifier);
2082 }
2083 }
2084 }
2085 }
2086 }
2087}
2088
2089void VisualScriptingBinaryModule::OnObjectIdChanged(ScriptingObject* object, const Guid& oldId)
2090{

Callers 4

DeserializeMethod · 0.80
DeserializeMethod · 0.80
GetClipboardValueMethod · 0.80
GetClipboardObjectMethod · 0.80

Calls 10

LockMethod · 0.80
UnlockMethod · 0.80
GetIDMethod · 0.80
MemberBeginMethod · 0.80
MemberEndMethod · 0.80
ParseFunction · 0.50
DeserializeFunction · 0.50
GetMethod · 0.45
FindMethod · 0.45
GetParameterMethod · 0.45

Tested by

no test coverage detected