Offset <Msg_SC_UpdatePlayers> SyncNewPlayer(FlatBufferBuilder fbb, int id) { VectorOffset pvOffset = default(VectorOffset); Player p = Get(id); if (null != p) { var array = OffsetArrayPool.Alloc <Protocol.Player>(1); var offset = Protocol.Player.CreatePlayer(fbb, p.id, fbb.CreateString(p.playerName)); array.offsets[array.position++] = offset; Msg_SC_UpdatePlayers.StartAddPlayersVector(fbb, array.position); pvOffset = Helpers.SetVector(fbb, array); OffsetArrayPool.Dealloc(ref array); } return(Msg_SC_UpdatePlayers.CreateMsg_SC_UpdatePlayers(fbb, false, pvOffset)); }
Offset <Msg_SC_UpdatePlayers> SyncPlayerList(FlatBufferBuilder fbb) { VectorOffset pvOffset = default(VectorOffset); if (mPlayers.Count > 0) { var array = OffsetArrayPool.Alloc <Protocol.Player>(mPlayers.Count); foreach (var p in mPlayers) { var offset = Protocol.Player.CreatePlayer(fbb, p.id, fbb.CreateString(p.playerName)); array.offsets[array.position++] = offset; } Msg_SC_UpdatePlayers.StartAddPlayersVector(fbb, array.position); pvOffset = Helpers.SetVector(fbb, array); OffsetArrayPool.Dealloc(ref array); } return(Msg_SC_UpdatePlayers.CreateMsg_SC_UpdatePlayers(fbb, true, pvOffset)); }