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)); }