@@ -14,7 +14,7 @@ public partial class ExhaustiveBlittableSingular
1414 {
1515 public const uint ComponentId = 197720 ;
1616
17- public struct Component : IComponentData , ISpatialComponentData
17+ public struct Component : IComponentData , ISpatialComponentData , ISnapshottable < Snapshot >
1818 {
1919 public uint ComponentId => 197720 ;
2020
@@ -95,6 +95,18 @@ public void MarkDataClean()
9595 dirtyBits1 = 0x0 ;
9696 }
9797
98+ public Snapshot ToComponentSnapshot ( global ::Unity . Entities . World world )
99+ {
100+ var componentDataSchema = new ComponentData ( new SchemaComponentData ( 197720 ) ) ;
101+ Serialization . SerializeComponent ( this , componentDataSchema . SchemaData . Value . GetFields ( ) , world ) ;
102+ var snapshot = Serialization . DeserializeSnapshot ( componentDataSchema . SchemaData . Value . GetFields ( ) , world ) ;
103+
104+ componentDataSchema . SchemaData ? . Dispose ( ) ;
105+ componentDataSchema . SchemaData = null ;
106+
107+ return snapshot ;
108+ }
109+
98110 private BlittableBool field1 ;
99111
100112 public BlittableBool Field1
@@ -367,6 +379,55 @@ public struct Snapshot : ISpatialComponentSnapshot
367379
368380 public static class Serialization
369381 {
382+ public static void SerializeComponent ( Improbable . Gdk . Tests . ExhaustiveBlittableSingular . Component component , global ::Improbable . Worker . Core . SchemaObject obj , global ::Unity . Entities . World world )
383+ {
384+ {
385+ obj . AddBool ( 1 , component . Field1 ) ;
386+ }
387+ {
388+ obj . AddFloat ( 2 , component . Field2 ) ;
389+ }
390+ {
391+ obj . AddInt32 ( 4 , component . Field4 ) ;
392+ }
393+ {
394+ obj . AddInt64 ( 5 , component . Field5 ) ;
395+ }
396+ {
397+ obj . AddDouble ( 6 , component . Field6 ) ;
398+ }
399+ {
400+ obj . AddUint32 ( 8 , component . Field8 ) ;
401+ }
402+ {
403+ obj . AddUint64 ( 9 , component . Field9 ) ;
404+ }
405+ {
406+ obj . AddSint32 ( 10 , component . Field10 ) ;
407+ }
408+ {
409+ obj . AddSint64 ( 11 , component . Field11 ) ;
410+ }
411+ {
412+ obj . AddFixed32 ( 12 , component . Field12 ) ;
413+ }
414+ {
415+ obj . AddFixed64 ( 13 , component . Field13 ) ;
416+ }
417+ {
418+ obj . AddSfixed32 ( 14 , component . Field14 ) ;
419+ }
420+ {
421+ obj . AddSfixed64 ( 15 , component . Field15 ) ;
422+ }
423+ {
424+ obj . AddEntityId ( 16 , component . Field16 ) ;
425+ }
426+ {
427+ global ::Improbable . Gdk . Tests . SomeType . Serialization . Serialize ( component . Field17 , obj . AddObject ( 17 ) ) ;
428+ }
429+ }
430+
370431 public static void SerializeUpdate ( Improbable . Gdk . Tests . ExhaustiveBlittableSingular . Component component , global ::Improbable . Worker . Core . SchemaComponentUpdate updateObj )
371432 {
372433 var obj = updateObj . GetFields ( ) ;
0 commit comments