public Payload() { Type = PayloadTypeRegistry.GetNetworkType(this.GetType()); #if ANDROID_DEBUG MREAPI.Logger.LogDebug($"Creating payload of type {Type} for the payload class type {this.GetType()}"); #endif }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { try { JObject jObject = JObject.Load(reader); var networkType = jObject["type"].ToObject <string>(); Payload payload = PayloadTypeRegistry.CreatePayloadFromNetwork(networkType); serializer.Populate(jObject.CreateReader(), payload); return(payload); } catch (Exception e) { MREAPI.Logger.LogError($"Failed to create payload from json. Exception: {e.Message}\nStack Trace: {e.StackTrace}"); throw; } }