コード例 #1
0
ファイル: GameResultInfo.cs プロジェクト: ja003/Brainiacs
    internal byte[] Serialize()
    {
        FlatBufferBuilder fbb = new FlatBufferBuilder(1);

        //serialize players
        GameResultInfoS.StartPlayerResultsVector(fbb, PlayerResults.Count);
        var playersOffset = new Offset <PlayerResultInfoS> [PlayerResults.Count];

        for (int i = 0; i < PlayerResults.Count; i++)
        {
            playersOffset[i] = PlayerResults[i].Create(ref fbb);
        }
        //nested tables needs to be CREATED before START
        VectorOffset playersVectorOffset = GameResultInfoS.CreatePlayerResultsVector(fbb, playersOffset);

        //serialize whole game init info
        GameResultInfoS.StartGameResultInfoS(fbb);
        GameResultInfoS.AddPlayTime(fbb, PlayTime);
        GameResultInfoS.AddPlayerResults(fbb, playersVectorOffset);

        Offset <GameResultInfoS> gameResultInfoOffset = GameResultInfoS.EndGameResultInfoS(fbb);

        fbb.Finish(gameResultInfoOffset.Value);
        byte[] result = fbb.SizedByteArray();
        return(result);
    }
コード例 #2
0
ファイル: GameResult_schema.cs プロジェクト: ja003/Brainiacs
 public static Offset <GameResultInfoS> CreateGameResultInfoS(FlatBufferBuilder builder,
                                                              int playTime = 0,
                                                              VectorOffset playerResultsOffset = default(VectorOffset))
 {
     builder.StartTable(2);
     GameResultInfoS.AddPlayerResults(builder, playerResultsOffset);
     GameResultInfoS.AddPlayTime(builder, playTime);
     return(GameResultInfoS.EndGameResultInfoS(builder));
 }