public ExhaustiveSingularData(
     bool field1,
     float field2,
     int field4,
     long field5,
     double field6,
     string field7,
     uint field8,
     ulong field9,
     int field10,
     long field11,
     uint field12,
     ulong field13,
     int field14,
     long field15,
     global::Improbable.EntityId field16,
     global::Improbable.Gdk.Tests.SomeType field17)
 {
     this.field1  = field1;
     this.field2  = field2;
     this.field4  = field4;
     this.field5  = field5;
     this.field6  = field6;
     this.field7  = field7;
     this.field8  = field8;
     this.field9  = field9;
     this.field10 = field10;
     this.field11 = field11;
     this.field12 = field12;
     this.field13 = field13;
     this.field14 = field14;
     this.field15 = field15;
     this.field16 = field16;
     this.field17 = field17;
 }
 public Data(
     bool field1,
     float field2,
     int field4,
     long field5,
     double field6,
     uint field8,
     ulong field9,
     int field10,
     long field11,
     uint field12,
     ulong field13,
     int field14,
     long field15,
     global::Improbable.EntityId field16,
     global::Improbable.Gdk.Tests.SomeType field17)
 {
     Value = new global::Improbable.Gdk.Tests.ExhaustiveBlittableSingularData(
         field1,
         field2,
         field4,
         field5,
         field6,
         field8,
         field9,
         field10,
         field11,
         field12,
         field13,
         field14,
         field15,
         field16,
         field17);
 }
 ClientDeserialize(global::System.UInt32 componentId,
                   global::System.Byte handleType,
                   global::Improbable.Worker.Internal.Pbio.Object *root,
                   global::Improbable.Worker.Internal.ComponentProtocol.ClientHandle **handleOut)
 {
     *handleOut = null;
     try
     {
         *handleOut = global::Improbable.Worker.Internal.ClientHandles.HandleAlloc();
         if (handleType == (byte)global::Improbable.Worker.Internal.ComponentProtocol.ClientHandleType.Update)
         {
             var data               = new Update();
             var fieldsToClear      = new global::System.Collections.Generic.HashSet <uint>();
             var fieldsToClearCount = global::Improbable.Worker.Internal.Pbio.GetUint32Count(root, /* fields to clear */ 1);
             for (uint i = 0; i < fieldsToClearCount; ++i)
             {
                 fieldsToClear.Add(global::Improbable.Worker.Internal.Pbio.IndexUint32(root, /* fields to clear */ 1, i));
             }
             var stateObject = global::Improbable.Worker.Internal.Pbio.GetObject(
                 global::Improbable.Worker.Internal.Pbio.GetObject(root, /* entity_state */ 2), 197720);
             if (global::Improbable.Worker.Internal.Pbio.GetBoolCount(stateObject, 1) > 0)
             {
                 bool field;
                 {
                     field = global::Improbable.Worker.Internal.Pbio.GetBool(stateObject, 1) != 0;
                 }
                 data.field1.Set(field);
             }
             if (global::Improbable.Worker.Internal.Pbio.GetFloatCount(stateObject, 2) > 0)
             {
                 float field;
                 {
                     field = global::Improbable.Worker.Internal.Pbio.GetFloat(stateObject, 2);
                 }
                 data.field2.Set(field);
             }
             if (global::Improbable.Worker.Internal.Pbio.GetInt32Count(stateObject, 4) > 0)
             {
                 int field;
                 {
                     field = global::Improbable.Worker.Internal.Pbio.GetInt32(stateObject, 4);
                 }
                 data.field4.Set(field);
             }
             if (global::Improbable.Worker.Internal.Pbio.GetInt64Count(stateObject, 5) > 0)
             {
                 long field;
                 {
                     field = global::Improbable.Worker.Internal.Pbio.GetInt64(stateObject, 5);
                 }
                 data.field5.Set(field);
             }
             if (global::Improbable.Worker.Internal.Pbio.GetDoubleCount(stateObject, 6) > 0)
             {
                 double field;
                 {
                     field = global::Improbable.Worker.Internal.Pbio.GetDouble(stateObject, 6);
                 }
                 data.field6.Set(field);
             }
             if (global::Improbable.Worker.Internal.Pbio.GetUint32Count(stateObject, 8) > 0)
             {
                 uint field;
                 {
                     field = global::Improbable.Worker.Internal.Pbio.GetUint32(stateObject, 8);
                 }
                 data.field8.Set(field);
             }
             if (global::Improbable.Worker.Internal.Pbio.GetUint64Count(stateObject, 9) > 0)
             {
                 ulong field;
                 {
                     field = global::Improbable.Worker.Internal.Pbio.GetUint64(stateObject, 9);
                 }
                 data.field9.Set(field);
             }
             if (global::Improbable.Worker.Internal.Pbio.GetSint32Count(stateObject, 10) > 0)
             {
                 int field;
                 {
                     field = global::Improbable.Worker.Internal.Pbio.GetSint32(stateObject, 10);
                 }
                 data.field10.Set(field);
             }
             if (global::Improbable.Worker.Internal.Pbio.GetSint64Count(stateObject, 11) > 0)
             {
                 long field;
                 {
                     field = global::Improbable.Worker.Internal.Pbio.GetSint64(stateObject, 11);
                 }
                 data.field11.Set(field);
             }
             if (global::Improbable.Worker.Internal.Pbio.GetFixed32Count(stateObject, 12) > 0)
             {
                 uint field;
                 {
                     field = global::Improbable.Worker.Internal.Pbio.GetFixed32(stateObject, 12);
                 }
                 data.field12.Set(field);
             }
             if (global::Improbable.Worker.Internal.Pbio.GetFixed64Count(stateObject, 13) > 0)
             {
                 ulong field;
                 {
                     field = global::Improbable.Worker.Internal.Pbio.GetFixed64(stateObject, 13);
                 }
                 data.field13.Set(field);
             }
             if (global::Improbable.Worker.Internal.Pbio.GetSfixed32Count(stateObject, 14) > 0)
             {
                 int field;
                 {
                     field = global::Improbable.Worker.Internal.Pbio.GetSfixed32(stateObject, 14);
                 }
                 data.field14.Set(field);
             }
             if (global::Improbable.Worker.Internal.Pbio.GetSfixed64Count(stateObject, 15) > 0)
             {
                 long field;
                 {
                     field = global::Improbable.Worker.Internal.Pbio.GetSfixed64(stateObject, 15);
                 }
                 data.field15.Set(field);
             }
             if (global::Improbable.Worker.Internal.Pbio.GetInt64Count(stateObject, 16) > 0)
             {
                 global::Improbable.EntityId field;
                 {
                     field = new global::Improbable.EntityId(global::Improbable.Worker.Internal.Pbio.GetInt64(stateObject, 16));
                 }
                 data.field16.Set(field);
             }
             if (global::Improbable.Worker.Internal.Pbio.GetObjectCount(stateObject, 17) > 0)
             {
                 global::Improbable.Gdk.Tests.SomeType field;
                 {
                     field = global::Improbable.Gdk.Tests.SomeType_Internal.Read(global::Improbable.Worker.Internal.Pbio.GetObject(stateObject, 17));
                 }
                 data.field17.Set(field);
             }
             **handleOut = global::Improbable.Worker.Internal.ClientHandles.Instance.CreateHandle(data);
         }
         else if (handleType == (byte)global::Improbable.Worker.Internal.ComponentProtocol.ClientHandleType.Snapshot)
         {
             var data = new Data(global::Improbable.Gdk.Tests.ExhaustiveBlittableSingularData_Internal.Read(
                                     global::Improbable.Worker.Internal.Pbio.GetObject(root, 197720)));
             **handleOut = global::Improbable.Worker.Internal.ClientHandles.Instance.CreateHandle(data);
         }
         else if (handleType == (byte)global::Improbable.Worker.Internal.ComponentProtocol.ClientHandleType.Request)
         {
             var data = new global::Improbable.Worker.Internal.GenericCommandObject();
             **handleOut = global::Improbable.Worker.Internal.ClientHandles.Instance.CreateHandle(data);
             return(0);
         }
         else if (handleType == (byte)global::Improbable.Worker.Internal.ComponentProtocol.ClientHandleType.Response)
         {
             var data = new global::Improbable.Worker.Internal.GenericCommandObject();
             **handleOut = global::Improbable.Worker.Internal.ClientHandles.Instance.CreateHandle(data);
             return(0);
         }
     }
     catch (global::System.Exception e)
     {
         global::Improbable.Worker.ClientError.LogClientException(e);
         return(0);
     }
     return(1);
 }
 public Update SetField16(global::Improbable.EntityId _value)
 {
     field16.Set(_value);
     return(this);
 }