| 103 | } |
| 104 | |
| 105 | void UICanvas::Deserialize(DeserializeStream& stream, ISerializeModifier* modifier) |
| 106 | { |
| 107 | // Base |
| 108 | Actor::Deserialize(stream, modifier); |
| 109 | |
| 110 | #if !COMPILE_WITHOUT_CSHARP |
| 111 | // Handle C# object data serialization |
| 112 | const auto dataMember = stream.FindMember("V"); |
| 113 | if (dataMember != stream.MemberEnd()) |
| 114 | { |
| 115 | PROFILE_MEM(UI); |
| 116 | rapidjson_flax::StringBuffer buffer; |
| 117 | rapidjson_flax::Writer<rapidjson_flax::StringBuffer> writer(buffer); |
| 118 | dataMember->value.Accept(writer); |
| 119 | void* args[1]; |
| 120 | args[0] = MUtils::ToString(StringAnsiView(buffer.GetString(), (int32)buffer.GetSize())); |
| 121 | MObject* exception = nullptr; |
| 122 | UICanvas_Deserialize->Invoke(GetOrCreateManagedInstance(), args, &exception); |
| 123 | if (exception) |
| 124 | { |
| 125 | MException ex(exception); |
| 126 | ex.Log(LogType::Error, TEXT("UICanvas::Deserialize")); |
| 127 | } |
| 128 | if (IsDuringPlay()) |
| 129 | { |
| 130 | UICANVAS_INVOKE(PostDeserialize); |
| 131 | } |
| 132 | } |
| 133 | #endif |
| 134 | } |
| 135 | |
| 136 | void UICanvas::OnBeginPlay() |
| 137 | { |
no test coverage detected