예제 #1
0
 public static Offset <FCT.CookieBakerRT.IPC_DataFormat.MeshObject> CreateMeshObject(FlatBufferBuilder builder, float LocalToWorldMatrix_M00, float LocalToWorldMatrix_M01, float LocalToWorldMatrix_M02, float LocalToWorldMatrix_M03, float LocalToWorldMatrix_M10, float LocalToWorldMatrix_M11, float LocalToWorldMatrix_M12, float LocalToWorldMatrix_M13, float LocalToWorldMatrix_M20, float LocalToWorldMatrix_M21, float LocalToWorldMatrix_M22, float LocalToWorldMatrix_M23, float LocalToWorldMatrix_M30, float LocalToWorldMatrix_M31, float LocalToWorldMatrix_M32, float LocalToWorldMatrix_M33, int IndicesOffset, int IndicesCount, int VerticesOffset, float Bounds_Center_X, float Bounds_Center_Y, float Bounds_Center_Z, float Bounds_Extent_X, float Bounds_Extent_Y, float Bounds_Extent_Z)
 {
     builder.Prep(4, 100);
     builder.Prep(4, 24);
     builder.Prep(4, 12);
     builder.PutFloat(Bounds_Extent_Z);
     builder.PutFloat(Bounds_Extent_Y);
     builder.PutFloat(Bounds_Extent_X);
     builder.Prep(4, 12);
     builder.PutFloat(Bounds_Center_Z);
     builder.PutFloat(Bounds_Center_Y);
     builder.PutFloat(Bounds_Center_X);
     builder.PutInt(VerticesOffset);
     builder.PutInt(IndicesCount);
     builder.PutInt(IndicesOffset);
     builder.Prep(4, 64);
     builder.PutFloat(LocalToWorldMatrix_M33);
     builder.PutFloat(LocalToWorldMatrix_M32);
     builder.PutFloat(LocalToWorldMatrix_M31);
     builder.PutFloat(LocalToWorldMatrix_M30);
     builder.PutFloat(LocalToWorldMatrix_M23);
     builder.PutFloat(LocalToWorldMatrix_M22);
     builder.PutFloat(LocalToWorldMatrix_M21);
     builder.PutFloat(LocalToWorldMatrix_M20);
     builder.PutFloat(LocalToWorldMatrix_M13);
     builder.PutFloat(LocalToWorldMatrix_M12);
     builder.PutFloat(LocalToWorldMatrix_M11);
     builder.PutFloat(LocalToWorldMatrix_M10);
     builder.PutFloat(LocalToWorldMatrix_M03);
     builder.PutFloat(LocalToWorldMatrix_M02);
     builder.PutFloat(LocalToWorldMatrix_M01);
     builder.PutFloat(LocalToWorldMatrix_M00);
     return(new Offset <FCT.CookieBakerRT.IPC_DataFormat.MeshObject>(builder.Offset));
 }
예제 #2
0
 public static Offset <MyGame.Example.ArrayStruct> CreateArrayStruct(FlatBufferBuilder builder, float A, int[] B, sbyte C, int[,] d_A, MyGame.Example.TestEnum[] d_B, MyGame.Example.TestEnum[,] d_C)
 {
     builder.Prep(4, 92);
     for (int _idx0 = 2; _idx0 > 0; _idx0--)
     {
         builder.Prep(4, 12);
         builder.Pad(1);
         for (int _idx1 = 2; _idx1 > 0; _idx1--)
         {
             builder.PutSbyte((sbyte)d_C[_idx0 - 1, _idx1 - 1]);
         }
         builder.PutSbyte((sbyte)d_B[_idx0 - 1]);
         for (int _idx1 = 2; _idx1 > 0; _idx1--)
         {
             builder.PutInt(d_A[_idx0 - 1, _idx1 - 1]);
         }
     }
     builder.Pad(3);
     builder.PutSbyte(C);
     for (int _idx0 = 15; _idx0 > 0; _idx0--)
     {
         builder.PutInt(B[_idx0 - 1]);
     }
     builder.PutFloat(A);
     return(new Offset <MyGame.Example.ArrayStruct>(builder.Offset));
 }
예제 #3
0
 public static Offset <OuterStruct> CreateOuterStruct(FlatBufferBuilder builder, int Inner_A, int A)
 {
     builder.Prep(4, 8);
     builder.PutInt(A);
     builder.Prep(4, 4);
     builder.PutInt(Inner_A);
     return(new Offset <OuterStruct>(builder.Offset));
 }
 public static Offset <UdpMessages.ServerClientMessages.CollisionFix> CreateCollisionFix(FlatBufferBuilder builder, float collisionPoint_X, float collisionPoint_Y, float SurfaceDirection)
 {
     builder.Prep(4, 12);
     builder.PutFloat(SurfaceDirection);
     builder.Prep(4, 8);
     builder.PutFloat(collisionPoint_Y);
     builder.PutFloat(collisionPoint_X);
     return(new Offset <UdpMessages.ServerClientMessages.CollisionFix>(builder.Offset));
 }
예제 #5
0
 public static Offset <space_data.EntityMove> CreateEntityMove(FlatBufferBuilder builder, uint Id, float pos_X, float pos_Y)
 {
     builder.Prep(4, 12);
     builder.Prep(4, 8);
     builder.PutFloat(pos_Y);
     builder.PutFloat(pos_X);
     builder.PutUint(Id);
     return(new Offset <space_data.EntityMove>(builder.Offset));
 }
예제 #6
0
 public static Offset <UdpMessages.ServerClientMessages.PlayerPositionData> CreatePlayerPositionData(FlatBufferBuilder builder, float position_X, float position_Y, float Direction)
 {
     builder.Prep(4, 12);
     builder.PutFloat(Direction);
     builder.Prep(4, 8);
     builder.PutFloat(position_Y);
     builder.PutFloat(position_X);
     return(new Offset <UdpMessages.ServerClientMessages.PlayerPositionData>(builder.Offset));
 }
 public static Offset <Player> CreatePlayer(FlatBufferBuilder builder, int Id, float pos_X, float pos_Y, float pos_Z)
 {
     builder.Prep(4, 16);
     builder.Prep(4, 12);
     builder.PutFloat(pos_Z);
     builder.PutFloat(pos_Y);
     builder.PutFloat(pos_X);
     builder.PutInt(Id);
     return(new Offset <Player>(builder.Offset));
 }
 public static Offset <UdpMessages.ServerClientMessages.RespawnPoint> CreateRespawnPoint(FlatBufferBuilder builder, float position_X, float position_Y, float Width, float Height)
 {
     builder.Prep(4, 16);
     builder.PutFloat(Height);
     builder.PutFloat(Width);
     builder.Prep(4, 8);
     builder.PutFloat(position_Y);
     builder.PutFloat(position_X);
     return(new Offset <UdpMessages.ServerClientMessages.RespawnPoint>(builder.Offset));
 }
예제 #9
0
 public static Offset <IndexedVec3> CreateIndexedVec3(FlatBufferBuilder builder, int Index, float position_X, float position_Y, float position_Z)
 {
     builder.Prep(4, 16);
     builder.Prep(4, 12);
     builder.PutFloat(position_Z);
     builder.PutFloat(position_Y);
     builder.PutFloat(position_X);
     builder.PutInt(Index);
     return(new Offset <IndexedVec3>(builder.Offset));
 }
예제 #10
0
 public static Offset <space_data.EntityJump> CreateEntityJump(FlatBufferBuilder builder, uint Id, uint SectorId, float pos_X, float pos_Y)
 {
     builder.Prep(4, 16);
     builder.Prep(4, 8);
     builder.PutFloat(pos_Y);
     builder.PutFloat(pos_X);
     builder.PutUint(SectorId);
     builder.PutUint(Id);
     return(new Offset <space_data.EntityJump>(builder.Offset));
 }
예제 #11
0
 public static Offset <ObjectChange> CreateObjectChange(FlatBufferBuilder builder, int Id, ObjectType Type, int position_I, int position_J)
 {
     builder.Prep(4, 16);
     builder.Prep(4, 8);
     builder.PutInt(position_J);
     builder.PutInt(position_I);
     builder.Pad(3);
     builder.PutSbyte((sbyte)Type);
     builder.PutInt(Id);
     return(new Offset <ObjectChange>(builder.Offset));
 }
예제 #12
0
 public static Offset <TestStruct2> CreateTestStruct2(FlatBufferBuilder builder, int IntProp, int TestStruct1Prop_IntProp, byte TestStruct1Prop_ByteProp, short TestStruct1Prop_ShortProp)
 {
     builder.Prep(4, 12);
     builder.Prep(4, 8);
     builder.PutShort(TestStruct1Prop_ShortProp);
     builder.Pad(1);
     builder.PutByte(TestStruct1Prop_ByteProp);
     builder.PutInt(TestStruct1Prop_IntProp);
     builder.PutInt(IntProp);
     return(new Offset <TestStruct2>(builder.Offset));
 }
 public static Offset <UdpMessages.ServerClientMessages.ProjectileDirectionChangedMessageFix> CreateProjectileDirectionChangedMessageFix(FlatBufferBuilder builder, byte ProjectileId, float position_X, float position_Y, float Direction)
 {
     builder.Prep(4, 16);
     builder.PutFloat(Direction);
     builder.Prep(4, 8);
     builder.PutFloat(position_Y);
     builder.PutFloat(position_X);
     builder.Pad(3);
     builder.PutByte(ProjectileId);
     return(new Offset <UdpMessages.ServerClientMessages.ProjectileDirectionChangedMessageFix>(builder.Offset));
 }
 public static Offset <UdpMessages.ServerClientMessages.SpaceshipState> CreateSpaceshipState(FlatBufferBuilder builder, float LifePoints, float position_X, float position_Y, float Direction, float HealingSpeed)
 {
     builder.Prep(4, 20);
     builder.PutFloat(HealingSpeed);
     builder.PutFloat(Direction);
     builder.Prep(4, 8);
     builder.PutFloat(position_Y);
     builder.PutFloat(position_X);
     builder.PutFloat(LifePoints);
     return(new Offset <UdpMessages.ServerClientMessages.SpaceshipState>(builder.Offset));
 }
예제 #15
0
 public static Offset <UdpMessages.ServerClientMessages.InitGameMessageFix> CreateInitGameMessageFix(FlatBufferBuilder builder, byte PlayerNumber, byte TeamSize, byte NormalProjectileAmmo, float NormalProjectileReloadTimeRemaining, byte BouncingProjectileAmmo, float BouncingProjectileReloadTimeRemaining, byte SpaceshipRespawnTime, float SpaceshipMaxLifePoints, float SpaceshipRadius, float NormalProjectileRadius, float NormalProjectileSpeed, byte NormalProjectileClipSize, float NormalProjectileReloadDelay, float NormalProjectileReloadSpeed, float BouncingProjectileRadius, float BouncingProjectileSpeed, byte BouncingProjectileClipSize, float BouncingProjectileAutoReloadSpeed, float ControlPointRadius, float ControlPointCapturingLimit, float ControlPointCapturingSpeed, float ControlPointTimeBeforeCooldown, float ControlPointCooldownSpeed, float ControlProgressionGoal, float ControlProgressionSpeed, float ReinstallDuration, float teamOneRespawnPoint_position_X, float teamOneRespawnPoint_position_Y, float teamOneRespawnPoint_Width, float teamOneRespawnPoint_Height, float teamTwoRespawnPoint_position_X, float teamTwoRespawnPoint_position_Y, float teamTwoRespawnPoint_Width, float teamTwoRespawnPoint_Height, float TeamOneControlProgression, float TeamTwoControlProgression, float TeamOneReinstallRemaining, float TeamTwoReinstallRemaining, float TimeToDraw)
 {
     builder.Prep(4, 148);
     builder.PutFloat(TimeToDraw);
     builder.PutFloat(TeamTwoReinstallRemaining);
     builder.PutFloat(TeamOneReinstallRemaining);
     builder.PutFloat(TeamTwoControlProgression);
     builder.PutFloat(TeamOneControlProgression);
     builder.Prep(4, 16);
     builder.PutFloat(teamTwoRespawnPoint_Height);
     builder.PutFloat(teamTwoRespawnPoint_Width);
     builder.Prep(4, 8);
     builder.PutFloat(teamTwoRespawnPoint_position_Y);
     builder.PutFloat(teamTwoRespawnPoint_position_X);
     builder.Prep(4, 16);
     builder.PutFloat(teamOneRespawnPoint_Height);
     builder.PutFloat(teamOneRespawnPoint_Width);
     builder.Prep(4, 8);
     builder.PutFloat(teamOneRespawnPoint_position_Y);
     builder.PutFloat(teamOneRespawnPoint_position_X);
     builder.PutFloat(ReinstallDuration);
     builder.PutFloat(ControlProgressionSpeed);
     builder.PutFloat(ControlProgressionGoal);
     builder.PutFloat(ControlPointCooldownSpeed);
     builder.PutFloat(ControlPointTimeBeforeCooldown);
     builder.PutFloat(ControlPointCapturingSpeed);
     builder.PutFloat(ControlPointCapturingLimit);
     builder.PutFloat(ControlPointRadius);
     builder.PutFloat(BouncingProjectileAutoReloadSpeed);
     builder.Pad(3);
     builder.PutByte(BouncingProjectileClipSize);
     builder.PutFloat(BouncingProjectileSpeed);
     builder.PutFloat(BouncingProjectileRadius);
     builder.PutFloat(NormalProjectileReloadSpeed);
     builder.PutFloat(NormalProjectileReloadDelay);
     builder.Pad(3);
     builder.PutByte(NormalProjectileClipSize);
     builder.PutFloat(NormalProjectileSpeed);
     builder.PutFloat(NormalProjectileRadius);
     builder.PutFloat(SpaceshipRadius);
     builder.PutFloat(SpaceshipMaxLifePoints);
     builder.Pad(3);
     builder.PutByte(SpaceshipRespawnTime);
     builder.PutFloat(BouncingProjectileReloadTimeRemaining);
     builder.Pad(3);
     builder.PutByte(BouncingProjectileAmmo);
     builder.PutFloat(NormalProjectileReloadTimeRemaining);
     builder.Pad(1);
     builder.PutByte(NormalProjectileAmmo);
     builder.PutByte(TeamSize);
     builder.PutByte(PlayerNumber);
     return(new Offset <UdpMessages.ServerClientMessages.InitGameMessageFix>(builder.Offset));
 }
예제 #16
0
 public static Offset <UdpMessages.ServerClientMessages.ProjectileState> CreateProjectileState(FlatBufferBuilder builder, byte Owner, float position_X, float position_Y, float Direction, UdpMessages.ServerClientMessages.ProjectileType Type)
 {
     builder.Prep(4, 20);
     builder.Pad(3);
     builder.PutByte((byte)Type);
     builder.PutFloat(Direction);
     builder.Prep(4, 8);
     builder.PutFloat(position_Y);
     builder.PutFloat(position_X);
     builder.Pad(3);
     builder.PutByte(Owner);
     return(new Offset <UdpMessages.ServerClientMessages.ProjectileState>(builder.Offset));
 }
예제 #17
0
 public static Offset <FBody> CreateFBody(FlatBufferBuilder builder, double velocity_X, double velocity_Y, double velocity_Z, double angular_velocity_X, double angular_velocity_Y, double angular_velocity_Z)
 {
     builder.Prep(8, 48);
     builder.Prep(8, 24);
     builder.PutDouble(angular_velocity_Z);
     builder.PutDouble(angular_velocity_Y);
     builder.PutDouble(angular_velocity_X);
     builder.Prep(8, 24);
     builder.PutDouble(velocity_Z);
     builder.PutDouble(velocity_Y);
     builder.PutDouble(velocity_X);
     return(new Offset <FBody>(builder.Offset));
 }
예제 #18
0
 public static Offset <Bound> CreateBound(FlatBufferBuilder builder, float min_X, float min_Y, float min_Z, float max_X, float max_Y, float max_Z)
 {
     builder.Prep(4, 24);
     builder.Prep(4, 12);
     builder.PutFloat(max_Z);
     builder.PutFloat(max_Y);
     builder.PutFloat(max_X);
     builder.Prep(4, 12);
     builder.PutFloat(min_Z);
     builder.PutFloat(min_Y);
     builder.PutFloat(min_X);
     return(new Offset <Bound>(builder.Offset));
 }
 public static Offset <FCT.CookieBakerRT.IPC_DataFormat.AABB_Bounds> CreateAABB_Bounds(FlatBufferBuilder builder, float Center_X, float Center_Y, float Center_Z, float Extent_X, float Extent_Y, float Extent_Z)
 {
     builder.Prep(4, 24);
     builder.Prep(4, 12);
     builder.PutFloat(Extent_Z);
     builder.PutFloat(Extent_Y);
     builder.PutFloat(Extent_X);
     builder.Prep(4, 12);
     builder.PutFloat(Center_Z);
     builder.PutFloat(Center_Y);
     builder.PutFloat(Center_X);
     return(new Offset <FCT.CookieBakerRT.IPC_DataFormat.AABB_Bounds>(builder.Offset));
 }
 public static Offset <UdpMessages.ServerClientMessages.VersionMessageFix> CreateVersionMessageFix(FlatBufferBuilder builder, byte minVersion_MajorVersion, byte minVersion_MinorVersion, byte minVersion_PatchVersion, byte maxVersion_MajorVersion, byte maxVersion_MinorVersion, byte maxVersion_PatchVersion, bool NewMatchesAllowed)
 {
     builder.Prep(1, 7);
     builder.PutBool(NewMatchesAllowed);
     builder.Prep(1, 3);
     builder.PutByte(maxVersion_PatchVersion);
     builder.PutByte(maxVersion_MinorVersion);
     builder.PutByte(maxVersion_MajorVersion);
     builder.Prep(1, 3);
     builder.PutByte(minVersion_PatchVersion);
     builder.PutByte(minVersion_MinorVersion);
     builder.PutByte(minVersion_MajorVersion);
     return(new Offset <UdpMessages.ServerClientMessages.VersionMessageFix>(builder.Offset));
 }
예제 #21
0
 public static Offset <space_data.JumpNew> CreateJumpNew(FlatBufferBuilder builder, uint Id, uint SectorId, float pos_X, float pos_Y, uint ToSectorId, float to_pos_X, float to_pos_Y)
 {
     builder.Prep(4, 28);
     builder.Prep(4, 8);
     builder.PutFloat(to_pos_Y);
     builder.PutFloat(to_pos_X);
     builder.PutUint(ToSectorId);
     builder.Prep(4, 8);
     builder.PutFloat(pos_Y);
     builder.PutFloat(pos_X);
     builder.PutUint(SectorId);
     builder.PutUint(Id);
     return(new Offset <space_data.JumpNew>(builder.Offset));
 }
 public static Offset <UdpMessages.ServerClientMessages.ControlPointStateFix> CreateControlPointStateFix(FlatBufferBuilder builder, float position_X, float position_Y, bool ContestedByTeamOne, bool ContestedByTeamTwo, byte ProgressedTeam, float Progression, float TimeBeforeCooldown)
 {
     builder.Prep(4, 20);
     builder.PutFloat(TimeBeforeCooldown);
     builder.PutFloat(Progression);
     builder.Pad(1);
     builder.PutByte(ProgressedTeam);
     builder.PutBool(ContestedByTeamTwo);
     builder.PutBool(ContestedByTeamOne);
     builder.Prep(4, 8);
     builder.PutFloat(position_Y);
     builder.PutFloat(position_X);
     return(new Offset <UdpMessages.ServerClientMessages.ControlPointStateFix>(builder.Offset));
 }
예제 #23
0
 public static Offset <FQuaternionTransform> CreateFQuaternionTransform(FlatBufferBuilder builder, double position_X, double position_Y, double position_Z, double rotation_X, double rotation_Y, double rotation_Z, double rotation_W)
 {
     builder.Prep(8, 56);
     builder.Prep(8, 32);
     builder.PutDouble(rotation_W);
     builder.PutDouble(rotation_Z);
     builder.PutDouble(rotation_Y);
     builder.PutDouble(rotation_X);
     builder.Prep(8, 24);
     builder.PutDouble(position_Z);
     builder.PutDouble(position_Y);
     builder.PutDouble(position_X);
     return(new Offset <FQuaternionTransform>(builder.Offset));
 }
예제 #24
0
 public static Offset <Bar> CreateBar(FlatBufferBuilder builder, ulong parent_Id, short parent_Count, sbyte parent_Prefix, uint parent_Length, int Time, float Ratio, ushort Size)
 {
     builder.Prep(8, 32);
     builder.Pad(6);
     builder.PutUshort(Size);
     builder.PutFloat(Ratio);
     builder.PutInt(Time);
     builder.Prep(8, 16);
     builder.PutUint(parent_Length);
     builder.Pad(1);
     builder.PutSbyte(parent_Prefix);
     builder.PutShort(parent_Count);
     builder.PutUlong(parent_Id);
     return(new Offset <Bar>(builder.Offset));
 }
예제 #25
0
 public static Offset <MyGame.Example.StructOfStructs> CreateStructOfStructs(FlatBufferBuilder builder, uint a_Id, uint a_Distance, short b_A, sbyte b_B, uint c_Id, uint c_Distance)
 {
     builder.Prep(4, 20);
     builder.Prep(4, 8);
     builder.PutUint(c_Distance);
     builder.PutUint(c_Id);
     builder.Prep(2, 4);
     builder.Pad(1);
     builder.PutSbyte(b_B);
     builder.PutShort(b_A);
     builder.Prep(4, 8);
     builder.PutUint(a_Distance);
     builder.PutUint(a_Id);
     return(new Offset <MyGame.Example.StructOfStructs>(builder.Offset));
 }
예제 #26
0
 public static Offset <ReactiveMarkets.PlatformApi.MDLevel2> CreateMDLevel2(FlatBufferBuilder builder, double Qty, double Price)
 {
     builder.Prep(8, 16);
     builder.PutDouble(Price);
     builder.PutDouble(Qty);
     return(new Offset <ReactiveMarkets.PlatformApi.MDLevel2>(builder.Offset));
 }
예제 #27
0
 public static Offset <FVector2> CreateFVector2(FlatBufferBuilder builder, double X, double Y)
 {
     builder.Prep(8, 16);
     builder.PutDouble(Y);
     builder.PutDouble(X);
     return(new Offset <FVector2>(builder.Offset));
 }
예제 #28
0
 public static Offset <StructInNestedNS> CreateStructInNestedNS(FlatBufferBuilder builder, int A, int B)
 {
     builder.Prep(4, 8);
     builder.PutInt(B);
     builder.PutInt(A);
     return(new Offset <StructInNestedNS>(builder.Offset));
 }
예제 #29
0
 public static Offset <UdpMessages.ClientServerMessages.ShootNormalProjectileActionFix> CreateShootNormalProjectileActionFix(FlatBufferBuilder builder, float PosX, float PosY)
 {
     builder.Prep(4, 8);
     builder.PutFloat(PosY);
     builder.PutFloat(PosX);
     return(new Offset <UdpMessages.ClientServerMessages.ShootNormalProjectileActionFix>(builder.Offset));
 }
예제 #30
0
        public void TestVTableWithAStruct_of_int8_int16_int32()
        {
            var builder = new FlatBufferBuilder(1);

            builder.StartObject(1);
            builder.Prep(4 + 4 + 4, 0);
            builder.AddSbyte(55);
            builder.Pad(3);
            builder.AddShort(0x1234);
            builder.Pad(2);
            builder.AddInt(0x12345678);
            var structStart = builder.Offset;

            builder.AddStruct(0, structStart, 0);
            builder.EndObject();
            Assert.ArrayEqual(new byte[]
            {
                0, 0, 0, 0,
                0, 0, 0, 0,
                0, 0,                   // Padding to 32 bytes
                6, 0,                   // vtable bytes
                16, 0,                  // object length
                4, 0,                   // start of struct from here
                6, 0, 0, 0,             // int32 offset for start of vtable
                0x78, 0x56, 0x34, 0x12, // struct value 2
                0x00, 0x00, 0x34, 0x12, // struct value 1
                0x00, 0x00, 0x00, 55,   // struct value 0
            },
                              builder.DataBuffer.ToFullArray());
        }
예제 #31
0
 public void TestVTableWithAStruct_of_int8_int16_int32()
 {
     var builder = new FlatBufferBuilder(1);
     builder.StartObject(1);
     builder.Prep(4+4+4, 0);
     builder.AddSbyte(55);
     builder.Pad(3);
     builder.AddShort(0x1234);
     builder.Pad(2);
     builder.AddInt(0x12345678);
     var structStart = builder.Offset;
     builder.AddStruct(0, structStart, 0);
     builder.EndObject();
     Assert.ArrayEqual(new byte[]
     {
         0, 0, 0, 0,
         0, 0, 0, 0,
         0, 0, // Padding to 32 bytes
         6, 0, // vtable bytes
         16, 0, // object length
         4, 0,     // start of struct from here
         6, 0, 0, 0, // int32 offset for start of vtable
         0x78, 0x56, 0x34, 0x12,  // struct value 2
         0x00, 0x00, 0x34, 0x12, // struct value 1
         0x00, 0x00, 0x00, 55, // struct value 0
     },
         builder.DataBuffer.Data);
 }