예제 #1
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));
 }
예제 #2
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());
        }
예제 #3
0
 public static Offset <FlatSharpTests.Oracle.AlignmentTestInner> CreateAlignmentTestInner(FlatBufferBuilder builder, byte A, int B, sbyte C)
 {
     builder.Prep(4, 12);
     builder.Pad(3);
     builder.PutSbyte(C);
     builder.PutInt(B);
     builder.Pad(3);
     builder.PutByte(A);
     return(new Offset <FlatSharpTests.Oracle.AlignmentTestInner>(builder.Offset));
 }
예제 #4
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));
 }
예제 #5
0
 public static Offset <FfiResponses.CreatePackage> CreateCreatePackage(FlatBufferBuilder builder, FfiResponses.ResponseKind Kind, uint Ordering, uint Id, FfiResponses.PrefabKind Prefab, float X, float Y)
 {
     builder.Prep(4, 24);
     builder.PutFloat(Y);
     builder.PutFloat(X);
     builder.Pad(2);
     builder.PutUshort((ushort)Prefab);
     builder.PutUint(Id);
     builder.PutUint(Ordering);
     builder.Pad(2);
     builder.PutUshort((ushort)Kind);
     return(new Offset <FfiResponses.CreatePackage>(builder.Offset));
 }
예제 #6
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));
 }
예제 #7
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));
 }
예제 #8
0
 public static int CreateVec3(FlatBufferBuilder builder, float X, float Y, float Z, double Test1, Color Test2, short Test_A, sbyte Test_B)
 {
     builder.Prep(16, 32);
     builder.Pad(2);
     builder.Prep(2, 4);
     builder.Pad(1);
     builder.PutSbyte(Test_B);
     builder.PutShort(Test_A);
     builder.Pad(1);
     builder.PutSbyte((sbyte)(Test2));
     builder.PutDouble(Test1);
     builder.Pad(4);
     builder.PutFloat(Z);
     builder.PutFloat(Y);
     builder.PutFloat(X);
     return(builder.Offset());
 }
 public static Offset <UdpMessages.ServerClientMessages.SpaceshipLifePointsChangedMessageFix> CreateSpaceshipLifePointsChangedMessageFix(FlatBufferBuilder builder, byte Owner, float LifePoints)
 {
     builder.Prep(4, 8);
     builder.PutFloat(LifePoints);
     builder.Pad(3);
     builder.PutByte(Owner);
     return(new Offset <UdpMessages.ServerClientMessages.SpaceshipLifePointsChangedMessageFix>(builder.Offset));
 }
예제 #10
0
파일: B.cs 프로젝트: chwlili/FBSEditor
 public static Offset <B> CreateB(FlatBufferBuilder builder, int Id, bool A)
 {
     builder.Prep(4, 8);
     builder.Pad(3);
     builder.PutBool(A);
     builder.PutInt(Id);
     return(new Offset <B>(builder.Offset));
 }
예제 #11
0
 public static Offset <Vec3> CreateVec3(FlatBufferBuilder builder, float X, float Y, float Z, double Test1, Color Test2, short test3_A, sbyte test3_B)
 {
     builder.Prep(16, 32);
     builder.Pad(2);
     builder.Prep(2, 4);
     builder.Pad(1);
     builder.PutSbyte(test3_B);
     builder.PutShort(test3_A);
     builder.Pad(1);
     builder.PutSbyte((sbyte)Test2);
     builder.PutDouble(Test1);
     builder.Pad(4);
     builder.PutFloat(Z);
     builder.PutFloat(Y);
     builder.PutFloat(X);
     return(new Offset <Vec3>(builder.Offset));
 }
예제 #12
0
 public static Offset <FiveByteStruct> CreateFiveByteStruct(FlatBufferBuilder builder, int Int, byte Byte)
 {
     builder.Prep(4, 8);
     builder.Pad(3);
     builder.PutByte(Byte);
     builder.PutInt(Int);
     return(new Offset <FiveByteStruct>(builder.Offset));
 }
예제 #13
0
 public static Offset <FfiResponses.EmptyPackage> CreateEmptyPackage(FlatBufferBuilder builder, FfiResponses.ResponseKind Kind, uint Ordering)
 {
     builder.Prep(4, 8);
     builder.PutUint(Ordering);
     builder.Pad(2);
     builder.PutUshort((ushort)Kind);
     return(new Offset <FfiResponses.EmptyPackage>(builder.Offset));
 }
예제 #14
0
 public static Offset <DmxChannelRule> CreateDmxChannelRule(FlatBufferBuilder builder, int StorageRef, DmxChannelRuleType Type, int On, int CalcOn, int Off, int CalcOff, byte Start, byte CalcStart, float Step, float CalcStep)
 {
     builder.Prep(4, 36);
     builder.PutFloat(CalcStep);
     builder.PutFloat(Step);
     builder.Pad(2);
     builder.PutByte(CalcStart);
     builder.PutByte(Start);
     builder.PutInt(CalcOff);
     builder.PutInt(Off);
     builder.PutInt(CalcOn);
     builder.PutInt(On);
     builder.Pad(3);
     builder.PutSbyte((sbyte)Type);
     builder.PutInt(StorageRef);
     return(new Offset <DmxChannelRule>(builder.Offset));
 }
예제 #15
0
 public static Offset <space_data.EntityNew> CreateEntityNew(FlatBufferBuilder builder, uint Id, space_data.EntityKind Kind)
 {
     builder.Prep(4, 8);
     builder.Pad(2);
     builder.PutShort((short)Kind);
     builder.PutUint(Id);
     return(new Offset <space_data.EntityNew>(builder.Offset));
 }
예제 #16
0
 public static Offset <Test> CreateTest(FlatBufferBuilder builder, short A, sbyte B)
 {
     builder.Prep(2, 4);
     builder.Pad(1);
     builder.PutSbyte(B);
     builder.PutShort(A);
     return(new Offset <Test>(builder.Offset));
 }
예제 #17
0
 public static Offset <TestStruct1> CreateTestStruct1(FlatBufferBuilder builder, int IntProp, byte ByteProp, short ShortProp)
 {
     builder.Prep(4, 8);
     builder.PutShort(ShortProp);
     builder.Pad(1);
     builder.PutByte(ByteProp);
     builder.PutInt(IntProp);
     return(new Offset <TestStruct1>(builder.Offset));
 }
예제 #18
0
 public static Offset <Block> CreateBlock(FlatBufferBuilder builder, long Offset, int MetaDataLength, long BodyLength)
 {
     builder.Prep(8, 24);
     builder.PutLong(BodyLength);
     builder.Pad(4);
     builder.PutInt(MetaDataLength);
     builder.PutLong(Offset);
     return(new Offset <Block>(builder.Offset));
 }
예제 #19
0
 public static Offset <FfiResponses.V2Package> CreateV2Package(FlatBufferBuilder builder, FfiResponses.ResponseKind Kind, uint Ordering, float X, float Y)
 {
     builder.Prep(4, 16);
     builder.PutFloat(Y);
     builder.PutFloat(X);
     builder.PutUint(Ordering);
     builder.Pad(2);
     builder.PutUshort((ushort)Kind);
     return(new Offset <FfiResponses.V2Package>(builder.Offset));
 }
예제 #20
0
 public static Offset <PlayerData> CreatePlayerData(FlatBufferBuilder builder, long UserId, float PosX, float PosY, bool Active)
 {
     builder.Prep(8, 24);
     builder.Pad(7);
     builder.PutBool(Active);
     builder.PutFloat(PosY);
     builder.PutFloat(PosX);
     builder.PutLong(UserId);
     return(new Offset <PlayerData>(builder.Offset));
 }
예제 #21
0
 public static Offset <FSimulatorConfiguration> CreateFSimulatorConfiguration(FlatBufferBuilder builder, int Width, int Height, bool FullScreen, int QualityLevel, float TimeScale, float TargetFrameRate, int WaitEvery, int FrameSkips, int ResetIterations, int NumOfEnvironments, bool DoSerialiseIndidualObservables, bool DoSerialiseUnobservables)
 {
     builder.Prep(4, 44);
     builder.Pad(2);
     builder.PutBool(DoSerialiseUnobservables);
     builder.PutBool(DoSerialiseIndidualObservables);
     builder.PutInt(NumOfEnvironments);
     builder.PutInt(ResetIterations);
     builder.PutInt(FrameSkips);
     builder.PutInt(WaitEvery);
     builder.PutFloat(TargetFrameRate);
     builder.PutFloat(TimeScale);
     builder.PutInt(QualityLevel);
     builder.Pad(3);
     builder.PutBool(FullScreen);
     builder.PutInt(Height);
     builder.PutInt(Width);
     return(new Offset <FSimulatorConfiguration>(builder.Offset));
 }
예제 #22
0
 public static Offset <Foo> CreateFoo(FlatBufferBuilder builder, ulong Id, short Count, sbyte Prefix, uint Length)
 {
     builder.Prep(8, 16);
     builder.PutUint(Length);
     builder.Pad(1);
     builder.PutSbyte(Prefix);
     builder.PutShort(Count);
     builder.PutUlong(Id);
     return(new Offset <Foo>(builder.Offset));
 }
예제 #23
0
 public static Offset <FRange> CreateFRange(FlatBufferBuilder builder, int DecimalGranularity, float MaxValue, float MinValue, bool Normalised)
 {
     builder.Prep(4, 16);
     builder.Pad(3);
     builder.PutBool(Normalised);
     builder.PutFloat(MinValue);
     builder.PutFloat(MaxValue);
     builder.PutInt(DecimalGranularity);
     return(new Offset <FRange>(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));
 }
예제 #25
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));
 }
예제 #26
0
 public static Offset <DmxDeviceChannel> CreateDmxDeviceChannel(FlatBufferBuilder builder, int StorageRef, uint Channel, byte Test, byte Norm, uint RuleCount)
 {
     builder.Prep(4, 16);
     builder.PutUint(RuleCount);
     builder.Pad(2);
     builder.PutByte(Norm);
     builder.PutByte(Test);
     builder.PutUint(Channel);
     builder.PutInt(StorageRef);
     return(new Offset <DmxDeviceChannel>(builder.Offset));
 }
예제 #27
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));
 }
 public static Offset <UdpMessages.ServerClientMessages.ControlPointTakenMessageFix> CreateControlPointTakenMessageFix(FlatBufferBuilder builder, byte ControlPointId, byte Team, float TeamOneControlProgression, float TeamTwoControlProgression, float TimeToDraw)
 {
     builder.Prep(4, 16);
     builder.PutFloat(TimeToDraw);
     builder.PutFloat(TeamTwoControlProgression);
     builder.PutFloat(TeamOneControlProgression);
     builder.Pad(2);
     builder.PutByte(Team);
     builder.PutByte(ControlPointId);
     return(new Offset <UdpMessages.ServerClientMessages.ControlPointTakenMessageFix>(builder.Offset));
 }
예제 #29
0
 public static Offset <DmxRuleBoolSetting> CreateDmxRuleBoolSetting(FlatBufferBuilder builder, int StorageRef, uint Channel, uint RuleNo, int On, int Off, byte Start, float Step)
 {
     builder.Prep(4, 28);
     builder.PutFloat(Step);
     builder.Pad(3);
     builder.PutByte(Start);
     builder.PutInt(Off);
     builder.PutInt(On);
     builder.PutUint(RuleNo);
     builder.PutUint(Channel);
     builder.PutInt(StorageRef);
     return(new Offset <DmxRuleBoolSetting>(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));
 }
예제 #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);
 }