Example #1
0
        public Offset <DesiredGameInfoState> ToFlatBuffer(FlatBufferBuilder builder)
        {
            DesiredGameInfoState.StartDesiredGameInfoState(builder);

            if (GameSpeed.HasValue)
            {
                DesiredGameInfoState.AddGameSpeed(builder, Float.CreateFloat(builder, GameSpeed.Value));
            }

            if (WorldGravityZ.HasValue)
            {
                DesiredGameInfoState.AddWorldGravityZ(builder, Float.CreateFloat(builder, WorldGravityZ.Value));
            }

            if (Paused.HasValue)
            {
                DesiredGameInfoState.AddPaused(builder, Bool.CreateBool(builder, Paused.Value));
            }

            if (EndMatch.HasValue)
            {
                DesiredGameInfoState.AddEndMatch(builder, Bool.CreateBool(builder, EndMatch.Value));
            }

            return(DesiredGameInfoState.EndDesiredGameInfoState(builder));
        }
        public static Offset <DesiredGameState> ToFlatBuffer(this WorldState worldState, FlatBufferBuilder builder)
        {
            DesiredGameState.StartDesiredGameState(builder);

            DesiredGameState.AddBallState(builder, worldState.Ball.ToFlatBuffer(builder));

            DesiredGameInfoState.StartDesiredGameInfoState(builder);
            DesiredGameInfoState.AddGameSpeed(builder, Float.CreateFloat(builder, worldState.GameSpeed));
            DesiredGameInfoState.AddWorldGravityZ(builder, Float.CreateFloat(builder, worldState.WorldGravityZ));
            DesiredGameInfoState.EndDesiredGameInfoState(builder);

            var carStates = new List <Offset <DesiredCarState> >();

            foreach (var player in worldState.Players)
            {
                carStates.Add(player.ToFlatBuffer(builder));
            }
            var carStateVector = DesiredGameState.CreateCarStatesVector(builder, carStates.ToArray());

            DesiredGameState.AddCarStates(builder, carStateVector);

            return(DesiredGameState.EndDesiredGameState(builder));
        }