コード例 #1
0
            public static Improbable.Gdk.Tests.NonblittableTypes.NonBlittableComponent.Snapshot DeserializeSnapshot(global::Improbable.Worker.Core.SchemaObject obj, global::Unity.Entities.World world)
            {
                var component = new Improbable.Gdk.Tests.NonblittableTypes.NonBlittableComponent.Snapshot();

                {
                    component.BoolField = obj.GetBool(1);
                }

                {
                    component.IntField = obj.GetInt32(2);
                }

                {
                    component.LongField = obj.GetInt64(3);
                }

                {
                    component.FloatField = obj.GetFloat(4);
                }

                {
                    component.DoubleField = obj.GetDouble(5);
                }

                {
                    component.StringField = obj.GetString(6);
                }

                {
                    if (obj.GetInt32Count(7) == 1)
                    {
                        component.OptionalField = new int?(obj.GetInt32(7));
                    }
                }

                {
                    component.ListField = new global::System.Collections.Generic.List <int>();
                    var list       = component.ListField;
                    var listLength = obj.GetInt32Count(8);
                    for (var i = 0; i < listLength; i++)
                    {
                        list.Add(obj.IndexInt32(8, (uint)i));
                    }
                }

                {
                    component.MapField = new global::System.Collections.Generic.Dictionary <int, string>();
                    var map     = component.MapField;
                    var mapSize = obj.GetObjectCount(9);
                    for (var i = 0; i < mapSize; i++)
                    {
                        var mapObj = obj.IndexObject(9, (uint)i);
                        var key    = mapObj.GetInt32(1);
                        var value  = mapObj.GetString(2);
                        map.Add(key, value);
                    }
                }

                return(component);
            }