public static global::Improbable.TestSchema.ExhaustiveEntity.Update DeserializeUpdate(global::Improbable.Worker.CInterop.SchemaComponentData data) { var update = new global::Improbable.TestSchema.ExhaustiveEntity.Update(); var obj = data.GetFields(); update.Field1 = obj.GetEntity(1); if (obj.GetEntityCount(2) == 1) { update.Field2 = new global::Improbable.Gdk.Core.Option <global::Improbable.Gdk.Core.EntitySnapshot?>(obj.GetEntity(2)); } { var listSize = obj.GetEntityCount(3); update.Field3 = new global::Improbable.Gdk.Core.Option <global::System.Collections.Generic.List <global::Improbable.Gdk.Core.EntitySnapshot> >(new global::System.Collections.Generic.List <global::Improbable.Gdk.Core.EntitySnapshot>()); for (var i = 0; i < listSize; i++) { var value = obj.IndexEntity(3, (uint)i); update.Field3.Value.Add(value); } } { var map = new global::System.Collections.Generic.Dictionary <global::Improbable.Gdk.Core.EntitySnapshot, string>(); var mapSize = obj.GetObjectCount(4); update.Field4 = map; for (var i = 0; i < mapSize; i++) { var mapObj = obj.IndexObject(4, (uint)i); var key = mapObj.GetEntity(1); var value = mapObj.GetString(2); map.Add(key, value); } } { var map = new global::System.Collections.Generic.Dictionary <string, global::Improbable.Gdk.Core.EntitySnapshot>(); var mapSize = obj.GetObjectCount(5); update.Field5 = map; for (var i = 0; i < mapSize; i++) { var mapObj = obj.IndexObject(5, (uint)i); var key = mapObj.GetString(1); var value = mapObj.GetEntity(2); map.Add(key, value); } } return(update); }
public static global::Improbable.TestSchema.ExhaustiveEntity.Update DeserializeUpdate(global::Improbable.Worker.CInterop.SchemaComponentUpdate updateObj) { var update = new global::Improbable.TestSchema.ExhaustiveEntity.Update(); var obj = updateObj.GetFields(); var clearedFields = updateObj.GetClearedFields(); { if (obj.GetEntityCount(1) == 1) { var value = obj.GetEntity(1); update.Field1 = new global::Improbable.Gdk.Core.Option <global::Improbable.Gdk.Core.EntitySnapshot>(value); } } { bool isCleared = false; foreach (var fieldIndex in clearedFields) { isCleared = fieldIndex == 2; if (isCleared) { break; } } if (isCleared) { update.Field2 = new global::Improbable.Gdk.Core.Option <global::Improbable.Gdk.Core.EntitySnapshot?>(new global::Improbable.Gdk.Core.EntitySnapshot?()); } else if (obj.GetEntityCount(2) == 1) { var value = obj.GetEntity(2); update.Field2 = new global::Improbable.Gdk.Core.Option <global::Improbable.Gdk.Core.EntitySnapshot?>(new global::Improbable.Gdk.Core.EntitySnapshot?(value)); } } { var listSize = obj.GetEntityCount(3); bool isCleared = false; foreach (var fieldIndex in clearedFields) { isCleared = fieldIndex == 3; if (isCleared) { break; } } if (listSize > 0 || isCleared) { update.Field3 = new global::Improbable.Gdk.Core.Option <global::System.Collections.Generic.List <global::Improbable.Gdk.Core.EntitySnapshot> >(new global::System.Collections.Generic.List <global::Improbable.Gdk.Core.EntitySnapshot>()); } for (var i = 0; i < listSize; i++) { var value = obj.IndexEntity(3, (uint)i); update.Field3.Value.Add(value); } } { var mapSize = obj.GetObjectCount(4); bool isCleared = false; foreach (var fieldIndex in clearedFields) { isCleared = fieldIndex == 4; if (isCleared) { break; } } if (mapSize > 0 || isCleared) { update.Field4 = new global::Improbable.Gdk.Core.Option <global::System.Collections.Generic.Dictionary <global::Improbable.Gdk.Core.EntitySnapshot, string> >(new global::System.Collections.Generic.Dictionary <global::Improbable.Gdk.Core.EntitySnapshot, string>()); } for (var i = 0; i < mapSize; i++) { var mapObj = obj.IndexObject(4, (uint)i); var key = mapObj.GetEntity(1); var value = mapObj.GetString(2); update.Field4.Value.Add(key, value); } } { var mapSize = obj.GetObjectCount(5); bool isCleared = false; foreach (var fieldIndex in clearedFields) { isCleared = fieldIndex == 5; if (isCleared) { break; } } if (mapSize > 0 || isCleared) { update.Field5 = new global::Improbable.Gdk.Core.Option <global::System.Collections.Generic.Dictionary <string, global::Improbable.Gdk.Core.EntitySnapshot> >(new global::System.Collections.Generic.Dictionary <string, global::Improbable.Gdk.Core.EntitySnapshot>()); } for (var i = 0; i < mapSize; i++) { var mapObj = obj.IndexObject(5, (uint)i); var key = mapObj.GetString(1); var value = mapObj.GetEntity(2); update.Field5.Value.Add(key, value); } } return(update); }
public static void SerializeUpdate(global::Improbable.TestSchema.ExhaustiveEntity.Update update, global::Improbable.Worker.CInterop.SchemaComponentUpdate updateObj) { var obj = updateObj.GetFields(); { if (update.Field1.HasValue) { var field = update.Field1.Value; obj.AddEntity(1, field); } } { if (update.Field2.HasValue) { var field = update.Field2.Value; if (field.HasValue) { obj.AddEntity(2, field.Value); } if (!field.HasValue) { updateObj.AddClearedField(2); } } } { if (update.Field3.HasValue) { var field = update.Field3.Value; foreach (var value in field) { obj.AddEntity(3, value); } if (field.Count == 0) { updateObj.AddClearedField(3); } } } { if (update.Field4.HasValue) { var field = update.Field4.Value; foreach (var keyValuePair in field) { var mapObj = obj.AddObject(4); mapObj.AddEntity(1, keyValuePair.Key); mapObj.AddString(2, keyValuePair.Value); } if (field.Count == 0) { updateObj.AddClearedField(4); } } } { if (update.Field5.HasValue) { var field = update.Field5.Value; foreach (var keyValuePair in field) { var mapObj = obj.AddObject(5); mapObj.AddString(1, keyValuePair.Key); mapObj.AddEntity(2, keyValuePair.Value); } if (field.Count == 0) { updateObj.AddClearedField(5); } } } }