phase 8: lobby UI + cross-stack lobby command catalog + TS FlatBuffers

- Extend pkg/model/lobby and pkg/schema/fbs/lobby.fbs with public-games
  list, my-applications/invites lists, game-create, application-submit,
  invite-redeem/decline. Mirror the matching transcoder pairs and Go
  fixture round-trip tests.
- Wire the seven new lobby message types through
  gateway/internal/backendclient/{routes,lobby_commands}.go with
  per-command REST helpers, JSON-tolerant decoding of backend wire
  shapes, and httptest-based unit coverage for success / 4xx / 5xx /
  503 across each command.
- Introduce TS-side FlatBuffers via the `flatbuffers` runtime dep, a
  `make fbs-ts` target driving flatc, and the generated bindings under
  ui/frontend/src/proto/galaxy/fbs. Phase 7's `user.account.get` decode
  now uses these bindings as well, closing the JSON.parse vs
  FlatBuffers gap that would have failed against a real local stack.
- Replace the placeholder lobby with five sections (my games, pending
  invitations, my applications, public games, create new game) and the
  /lobby/create form. Submit-application uses an inline race-name
  form on the public-game card; create-game keeps name / description /
  turn_schedule / enrollment_ends_at always visible and the rest under
  an Advanced toggle with TS-side defaults.
- Update lobby/+page.svelte to throw LobbyError on non-ok result codes;
  GalaxyClient.executeCommand now returns { resultCode, payloadBytes }.
- Vitest binding round-trips, lobby.ts wrapper unit tests, lobby-page
  + lobby-create component tests, Playwright lobby-flow.spec covering
  create / submit / accept across all four projects. Phase 7 e2e was
  migrated to the FlatBuffers fixtures and to click+fill against the
  Safari-autofill readonly inputs.
- Mark Phase 8 done in ui/PLAN.md, mirror the wire-format note into
  Phase 7, append the new lobby commands to gateway/README.md and
  docs/ARCHITECTURE.md, add ui/docs/lobby.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Ilia Denisov
2026-05-07 18:05:08 +02:00
parent 5d2a3b79c5
commit f57a290432
90 changed files with 11862 additions and 112 deletions
+126 -1
View File
@@ -4,7 +4,8 @@
// from the verified session and forwards it as `X-User-Id` to lobby.
namespace lobby;
// GameSummary stores one game record returned by `lobby.my.games.list`.
// GameSummary stores one game record returned by the lobby list
// endpoints. owner_user_id is empty for public games (no human owner).
// The shape matches `lobby/openapi.yaml` `MyGameSummary`.
table GameSummary {
game_id:string;
@@ -31,6 +32,71 @@ table MyGamesListResponse {
items:[GameSummary];
}
// PublicGamesListRequest stores the paginated read request for joinable
// public games. Page numbers start at 1; backend caps page_size.
table PublicGamesListRequest {
page:int32;
page_size:int32;
}
// PublicGamesListResponse stores one page of public games together with
// the pagination metadata.
table PublicGamesListResponse {
items:[GameSummary];
page:int32;
page_size:int32;
total:int32;
}
// ApplicationSummary stores one application record. decided_at_ms is 0
// while the application is pending.
table ApplicationSummary {
application_id:string;
game_id:string;
applicant_user_id:string;
race_name:string;
status:string;
created_at_ms:int64;
decided_at_ms:int64;
}
// MyApplicationsListRequest stores the authenticated read request for
// the caller's applications. Empty body.
table MyApplicationsListRequest {
}
// MyApplicationsListResponse stores the caller's applications in the
// order the backend returns them.
table MyApplicationsListResponse {
items:[ApplicationSummary];
}
// InviteSummary stores one invite record. invited_user_id is empty for
// code-based invites; code is empty for user-bound invites;
// decided_at_ms is 0 while the invite is still pending.
table InviteSummary {
invite_id:string;
game_id:string;
inviter_user_id:string;
invited_user_id:string;
code:string;
race_name:string;
status:string;
created_at_ms:int64;
expires_at_ms:int64;
decided_at_ms:int64;
}
// MyInvitesListRequest stores the authenticated read request for the
// caller's invites. Empty body.
table MyInvitesListRequest {
}
// MyInvitesListResponse stores the caller's invite list.
table MyInvitesListResponse {
items:[InviteSummary];
}
// OpenEnrollmentRequest stores the owner-only command that transitions
// a game from `draft` to `enrollment_open`.
table OpenEnrollmentRequest {
@@ -43,6 +109,65 @@ table OpenEnrollmentResponse {
status:string;
}
// GameCreateRequest stores the create-game command. Visibility is
// always `private` for the user surface; the gateway rejects any other
// value before forwarding to backend.
table GameCreateRequest {
game_name:string;
description:string;
min_players:int32;
max_players:int32;
start_gap_hours:int32;
start_gap_players:int32;
enrollment_ends_at_ms:int64;
turn_schedule:string;
target_engine_version:string;
}
// GameCreateResponse wraps the freshly created game projected onto the
// shared GameSummary shape.
table GameCreateResponse {
game:GameSummary;
}
// ApplicationSubmitRequest stores the submit-application command for a
// public game in `enrollment_open`.
table ApplicationSubmitRequest {
game_id:string;
race_name:string;
}
// ApplicationSubmitResponse wraps the freshly created application
// record.
table ApplicationSubmitResponse {
application:ApplicationSummary;
}
// InviteRedeemRequest accepts a pending invite and creates the
// corresponding membership.
table InviteRedeemRequest {
game_id:string;
invite_id:string;
}
// InviteRedeemResponse wraps the updated invite record (status
// transitioned to `accepted`).
table InviteRedeemResponse {
invite:InviteSummary;
}
// InviteDeclineRequest terminally declines a pending invite.
table InviteDeclineRequest {
game_id:string;
invite_id:string;
}
// InviteDeclineResponse wraps the updated invite record (status
// transitioned to `declined`).
table InviteDeclineResponse {
invite:InviteSummary;
}
// ErrorBody stores the canonical lobby error envelope code/message
// pair.
table ErrorBody {
@@ -0,0 +1,71 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package lobby
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type ApplicationSubmitRequest struct {
_tab flatbuffers.Table
}
func GetRootAsApplicationSubmitRequest(buf []byte, offset flatbuffers.UOffsetT) *ApplicationSubmitRequest {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &ApplicationSubmitRequest{}
x.Init(buf, n+offset)
return x
}
func FinishApplicationSubmitRequestBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsApplicationSubmitRequest(buf []byte, offset flatbuffers.UOffsetT) *ApplicationSubmitRequest {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &ApplicationSubmitRequest{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedApplicationSubmitRequestBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *ApplicationSubmitRequest) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *ApplicationSubmitRequest) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *ApplicationSubmitRequest) GameId() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *ApplicationSubmitRequest) RaceName() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func ApplicationSubmitRequestStart(builder *flatbuffers.Builder) {
builder.StartObject(2)
}
func ApplicationSubmitRequestAddGameId(builder *flatbuffers.Builder, gameId flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(gameId), 0)
}
func ApplicationSubmitRequestAddRaceName(builder *flatbuffers.Builder, raceName flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(1, flatbuffers.UOffsetT(raceName), 0)
}
func ApplicationSubmitRequestEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
@@ -0,0 +1,65 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package lobby
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type ApplicationSubmitResponse struct {
_tab flatbuffers.Table
}
func GetRootAsApplicationSubmitResponse(buf []byte, offset flatbuffers.UOffsetT) *ApplicationSubmitResponse {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &ApplicationSubmitResponse{}
x.Init(buf, n+offset)
return x
}
func FinishApplicationSubmitResponseBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsApplicationSubmitResponse(buf []byte, offset flatbuffers.UOffsetT) *ApplicationSubmitResponse {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &ApplicationSubmitResponse{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedApplicationSubmitResponseBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *ApplicationSubmitResponse) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *ApplicationSubmitResponse) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *ApplicationSubmitResponse) Application(obj *ApplicationSummary) *ApplicationSummary {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
x := rcv._tab.Indirect(o + rcv._tab.Pos)
if obj == nil {
obj = new(ApplicationSummary)
}
obj.Init(rcv._tab.Bytes, x)
return obj
}
return nil
}
func ApplicationSubmitResponseStart(builder *flatbuffers.Builder) {
builder.StartObject(1)
}
func ApplicationSubmitResponseAddApplication(builder *flatbuffers.Builder, application flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(application), 0)
}
func ApplicationSubmitResponseEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
+134
View File
@@ -0,0 +1,134 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package lobby
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type ApplicationSummary struct {
_tab flatbuffers.Table
}
func GetRootAsApplicationSummary(buf []byte, offset flatbuffers.UOffsetT) *ApplicationSummary {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &ApplicationSummary{}
x.Init(buf, n+offset)
return x
}
func FinishApplicationSummaryBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsApplicationSummary(buf []byte, offset flatbuffers.UOffsetT) *ApplicationSummary {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &ApplicationSummary{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedApplicationSummaryBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *ApplicationSummary) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *ApplicationSummary) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *ApplicationSummary) ApplicationId() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *ApplicationSummary) GameId() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *ApplicationSummary) ApplicantUserId() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *ApplicationSummary) RaceName() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *ApplicationSummary) Status() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(12))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *ApplicationSummary) CreatedAtMs() int64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(14))
if o != 0 {
return rcv._tab.GetInt64(o + rcv._tab.Pos)
}
return 0
}
func (rcv *ApplicationSummary) MutateCreatedAtMs(n int64) bool {
return rcv._tab.MutateInt64Slot(14, n)
}
func (rcv *ApplicationSummary) DecidedAtMs() int64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(16))
if o != 0 {
return rcv._tab.GetInt64(o + rcv._tab.Pos)
}
return 0
}
func (rcv *ApplicationSummary) MutateDecidedAtMs(n int64) bool {
return rcv._tab.MutateInt64Slot(16, n)
}
func ApplicationSummaryStart(builder *flatbuffers.Builder) {
builder.StartObject(7)
}
func ApplicationSummaryAddApplicationId(builder *flatbuffers.Builder, applicationId flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(applicationId), 0)
}
func ApplicationSummaryAddGameId(builder *flatbuffers.Builder, gameId flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(1, flatbuffers.UOffsetT(gameId), 0)
}
func ApplicationSummaryAddApplicantUserId(builder *flatbuffers.Builder, applicantUserId flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(2, flatbuffers.UOffsetT(applicantUserId), 0)
}
func ApplicationSummaryAddRaceName(builder *flatbuffers.Builder, raceName flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(3, flatbuffers.UOffsetT(raceName), 0)
}
func ApplicationSummaryAddStatus(builder *flatbuffers.Builder, status flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(4, flatbuffers.UOffsetT(status), 0)
}
func ApplicationSummaryAddCreatedAtMs(builder *flatbuffers.Builder, createdAtMs int64) {
builder.PrependInt64Slot(5, createdAtMs, 0)
}
func ApplicationSummaryAddDecidedAtMs(builder *flatbuffers.Builder, decidedAtMs int64) {
builder.PrependInt64Slot(6, decidedAtMs, 0)
}
func ApplicationSummaryEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
+168
View File
@@ -0,0 +1,168 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package lobby
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type GameCreateRequest struct {
_tab flatbuffers.Table
}
func GetRootAsGameCreateRequest(buf []byte, offset flatbuffers.UOffsetT) *GameCreateRequest {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &GameCreateRequest{}
x.Init(buf, n+offset)
return x
}
func FinishGameCreateRequestBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsGameCreateRequest(buf []byte, offset flatbuffers.UOffsetT) *GameCreateRequest {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &GameCreateRequest{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedGameCreateRequestBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *GameCreateRequest) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *GameCreateRequest) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *GameCreateRequest) GameName() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *GameCreateRequest) Description() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *GameCreateRequest) MinPlayers() int32 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
if o != 0 {
return rcv._tab.GetInt32(o + rcv._tab.Pos)
}
return 0
}
func (rcv *GameCreateRequest) MutateMinPlayers(n int32) bool {
return rcv._tab.MutateInt32Slot(8, n)
}
func (rcv *GameCreateRequest) MaxPlayers() int32 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
if o != 0 {
return rcv._tab.GetInt32(o + rcv._tab.Pos)
}
return 0
}
func (rcv *GameCreateRequest) MutateMaxPlayers(n int32) bool {
return rcv._tab.MutateInt32Slot(10, n)
}
func (rcv *GameCreateRequest) StartGapHours() int32 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(12))
if o != 0 {
return rcv._tab.GetInt32(o + rcv._tab.Pos)
}
return 0
}
func (rcv *GameCreateRequest) MutateStartGapHours(n int32) bool {
return rcv._tab.MutateInt32Slot(12, n)
}
func (rcv *GameCreateRequest) StartGapPlayers() int32 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(14))
if o != 0 {
return rcv._tab.GetInt32(o + rcv._tab.Pos)
}
return 0
}
func (rcv *GameCreateRequest) MutateStartGapPlayers(n int32) bool {
return rcv._tab.MutateInt32Slot(14, n)
}
func (rcv *GameCreateRequest) EnrollmentEndsAtMs() int64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(16))
if o != 0 {
return rcv._tab.GetInt64(o + rcv._tab.Pos)
}
return 0
}
func (rcv *GameCreateRequest) MutateEnrollmentEndsAtMs(n int64) bool {
return rcv._tab.MutateInt64Slot(16, n)
}
func (rcv *GameCreateRequest) TurnSchedule() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(18))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *GameCreateRequest) TargetEngineVersion() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(20))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func GameCreateRequestStart(builder *flatbuffers.Builder) {
builder.StartObject(9)
}
func GameCreateRequestAddGameName(builder *flatbuffers.Builder, gameName flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(gameName), 0)
}
func GameCreateRequestAddDescription(builder *flatbuffers.Builder, description flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(1, flatbuffers.UOffsetT(description), 0)
}
func GameCreateRequestAddMinPlayers(builder *flatbuffers.Builder, minPlayers int32) {
builder.PrependInt32Slot(2, minPlayers, 0)
}
func GameCreateRequestAddMaxPlayers(builder *flatbuffers.Builder, maxPlayers int32) {
builder.PrependInt32Slot(3, maxPlayers, 0)
}
func GameCreateRequestAddStartGapHours(builder *flatbuffers.Builder, startGapHours int32) {
builder.PrependInt32Slot(4, startGapHours, 0)
}
func GameCreateRequestAddStartGapPlayers(builder *flatbuffers.Builder, startGapPlayers int32) {
builder.PrependInt32Slot(5, startGapPlayers, 0)
}
func GameCreateRequestAddEnrollmentEndsAtMs(builder *flatbuffers.Builder, enrollmentEndsAtMs int64) {
builder.PrependInt64Slot(6, enrollmentEndsAtMs, 0)
}
func GameCreateRequestAddTurnSchedule(builder *flatbuffers.Builder, turnSchedule flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(7, flatbuffers.UOffsetT(turnSchedule), 0)
}
func GameCreateRequestAddTargetEngineVersion(builder *flatbuffers.Builder, targetEngineVersion flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(8, flatbuffers.UOffsetT(targetEngineVersion), 0)
}
func GameCreateRequestEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
@@ -0,0 +1,65 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package lobby
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type GameCreateResponse struct {
_tab flatbuffers.Table
}
func GetRootAsGameCreateResponse(buf []byte, offset flatbuffers.UOffsetT) *GameCreateResponse {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &GameCreateResponse{}
x.Init(buf, n+offset)
return x
}
func FinishGameCreateResponseBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsGameCreateResponse(buf []byte, offset flatbuffers.UOffsetT) *GameCreateResponse {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &GameCreateResponse{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedGameCreateResponseBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *GameCreateResponse) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *GameCreateResponse) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *GameCreateResponse) Game(obj *GameSummary) *GameSummary {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
x := rcv._tab.Indirect(o + rcv._tab.Pos)
if obj == nil {
obj = new(GameSummary)
}
obj.Init(rcv._tab.Bytes, x)
return obj
}
return nil
}
func GameCreateResponseStart(builder *flatbuffers.Builder) {
builder.StartObject(1)
}
func GameCreateResponseAddGame(builder *flatbuffers.Builder, game flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(game), 0)
}
func GameCreateResponseEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
@@ -0,0 +1,71 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package lobby
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type InviteDeclineRequest struct {
_tab flatbuffers.Table
}
func GetRootAsInviteDeclineRequest(buf []byte, offset flatbuffers.UOffsetT) *InviteDeclineRequest {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &InviteDeclineRequest{}
x.Init(buf, n+offset)
return x
}
func FinishInviteDeclineRequestBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsInviteDeclineRequest(buf []byte, offset flatbuffers.UOffsetT) *InviteDeclineRequest {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &InviteDeclineRequest{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedInviteDeclineRequestBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *InviteDeclineRequest) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *InviteDeclineRequest) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *InviteDeclineRequest) GameId() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *InviteDeclineRequest) InviteId() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func InviteDeclineRequestStart(builder *flatbuffers.Builder) {
builder.StartObject(2)
}
func InviteDeclineRequestAddGameId(builder *flatbuffers.Builder, gameId flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(gameId), 0)
}
func InviteDeclineRequestAddInviteId(builder *flatbuffers.Builder, inviteId flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(1, flatbuffers.UOffsetT(inviteId), 0)
}
func InviteDeclineRequestEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
@@ -0,0 +1,65 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package lobby
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type InviteDeclineResponse struct {
_tab flatbuffers.Table
}
func GetRootAsInviteDeclineResponse(buf []byte, offset flatbuffers.UOffsetT) *InviteDeclineResponse {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &InviteDeclineResponse{}
x.Init(buf, n+offset)
return x
}
func FinishInviteDeclineResponseBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsInviteDeclineResponse(buf []byte, offset flatbuffers.UOffsetT) *InviteDeclineResponse {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &InviteDeclineResponse{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedInviteDeclineResponseBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *InviteDeclineResponse) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *InviteDeclineResponse) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *InviteDeclineResponse) Invite(obj *InviteSummary) *InviteSummary {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
x := rcv._tab.Indirect(o + rcv._tab.Pos)
if obj == nil {
obj = new(InviteSummary)
}
obj.Init(rcv._tab.Bytes, x)
return obj
}
return nil
}
func InviteDeclineResponseStart(builder *flatbuffers.Builder) {
builder.StartObject(1)
}
func InviteDeclineResponseAddInvite(builder *flatbuffers.Builder, invite flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(invite), 0)
}
func InviteDeclineResponseEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
@@ -0,0 +1,71 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package lobby
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type InviteRedeemRequest struct {
_tab flatbuffers.Table
}
func GetRootAsInviteRedeemRequest(buf []byte, offset flatbuffers.UOffsetT) *InviteRedeemRequest {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &InviteRedeemRequest{}
x.Init(buf, n+offset)
return x
}
func FinishInviteRedeemRequestBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsInviteRedeemRequest(buf []byte, offset flatbuffers.UOffsetT) *InviteRedeemRequest {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &InviteRedeemRequest{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedInviteRedeemRequestBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *InviteRedeemRequest) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *InviteRedeemRequest) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *InviteRedeemRequest) GameId() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *InviteRedeemRequest) InviteId() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func InviteRedeemRequestStart(builder *flatbuffers.Builder) {
builder.StartObject(2)
}
func InviteRedeemRequestAddGameId(builder *flatbuffers.Builder, gameId flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(gameId), 0)
}
func InviteRedeemRequestAddInviteId(builder *flatbuffers.Builder, inviteId flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(1, flatbuffers.UOffsetT(inviteId), 0)
}
func InviteRedeemRequestEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
@@ -0,0 +1,65 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package lobby
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type InviteRedeemResponse struct {
_tab flatbuffers.Table
}
func GetRootAsInviteRedeemResponse(buf []byte, offset flatbuffers.UOffsetT) *InviteRedeemResponse {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &InviteRedeemResponse{}
x.Init(buf, n+offset)
return x
}
func FinishInviteRedeemResponseBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsInviteRedeemResponse(buf []byte, offset flatbuffers.UOffsetT) *InviteRedeemResponse {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &InviteRedeemResponse{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedInviteRedeemResponseBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *InviteRedeemResponse) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *InviteRedeemResponse) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *InviteRedeemResponse) Invite(obj *InviteSummary) *InviteSummary {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
x := rcv._tab.Indirect(o + rcv._tab.Pos)
if obj == nil {
obj = new(InviteSummary)
}
obj.Init(rcv._tab.Bytes, x)
return obj
}
return nil
}
func InviteRedeemResponseStart(builder *flatbuffers.Builder) {
builder.StartObject(1)
}
func InviteRedeemResponseAddInvite(builder *flatbuffers.Builder, invite flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(invite), 0)
}
func InviteRedeemResponseEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
+171
View File
@@ -0,0 +1,171 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package lobby
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type InviteSummary struct {
_tab flatbuffers.Table
}
func GetRootAsInviteSummary(buf []byte, offset flatbuffers.UOffsetT) *InviteSummary {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &InviteSummary{}
x.Init(buf, n+offset)
return x
}
func FinishInviteSummaryBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsInviteSummary(buf []byte, offset flatbuffers.UOffsetT) *InviteSummary {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &InviteSummary{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedInviteSummaryBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *InviteSummary) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *InviteSummary) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *InviteSummary) InviteId() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *InviteSummary) GameId() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *InviteSummary) InviterUserId() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *InviteSummary) InvitedUserId() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *InviteSummary) Code() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(12))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *InviteSummary) RaceName() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(14))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *InviteSummary) Status() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(16))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *InviteSummary) CreatedAtMs() int64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(18))
if o != 0 {
return rcv._tab.GetInt64(o + rcv._tab.Pos)
}
return 0
}
func (rcv *InviteSummary) MutateCreatedAtMs(n int64) bool {
return rcv._tab.MutateInt64Slot(18, n)
}
func (rcv *InviteSummary) ExpiresAtMs() int64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(20))
if o != 0 {
return rcv._tab.GetInt64(o + rcv._tab.Pos)
}
return 0
}
func (rcv *InviteSummary) MutateExpiresAtMs(n int64) bool {
return rcv._tab.MutateInt64Slot(20, n)
}
func (rcv *InviteSummary) DecidedAtMs() int64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(22))
if o != 0 {
return rcv._tab.GetInt64(o + rcv._tab.Pos)
}
return 0
}
func (rcv *InviteSummary) MutateDecidedAtMs(n int64) bool {
return rcv._tab.MutateInt64Slot(22, n)
}
func InviteSummaryStart(builder *flatbuffers.Builder) {
builder.StartObject(10)
}
func InviteSummaryAddInviteId(builder *flatbuffers.Builder, inviteId flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(inviteId), 0)
}
func InviteSummaryAddGameId(builder *flatbuffers.Builder, gameId flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(1, flatbuffers.UOffsetT(gameId), 0)
}
func InviteSummaryAddInviterUserId(builder *flatbuffers.Builder, inviterUserId flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(2, flatbuffers.UOffsetT(inviterUserId), 0)
}
func InviteSummaryAddInvitedUserId(builder *flatbuffers.Builder, invitedUserId flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(3, flatbuffers.UOffsetT(invitedUserId), 0)
}
func InviteSummaryAddCode(builder *flatbuffers.Builder, code flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(4, flatbuffers.UOffsetT(code), 0)
}
func InviteSummaryAddRaceName(builder *flatbuffers.Builder, raceName flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(5, flatbuffers.UOffsetT(raceName), 0)
}
func InviteSummaryAddStatus(builder *flatbuffers.Builder, status flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(6, flatbuffers.UOffsetT(status), 0)
}
func InviteSummaryAddCreatedAtMs(builder *flatbuffers.Builder, createdAtMs int64) {
builder.PrependInt64Slot(7, createdAtMs, 0)
}
func InviteSummaryAddExpiresAtMs(builder *flatbuffers.Builder, expiresAtMs int64) {
builder.PrependInt64Slot(8, expiresAtMs, 0)
}
func InviteSummaryAddDecidedAtMs(builder *flatbuffers.Builder, decidedAtMs int64) {
builder.PrependInt64Slot(9, decidedAtMs, 0)
}
func InviteSummaryEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
@@ -0,0 +1,49 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package lobby
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type MyApplicationsListRequest struct {
_tab flatbuffers.Table
}
func GetRootAsMyApplicationsListRequest(buf []byte, offset flatbuffers.UOffsetT) *MyApplicationsListRequest {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &MyApplicationsListRequest{}
x.Init(buf, n+offset)
return x
}
func FinishMyApplicationsListRequestBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsMyApplicationsListRequest(buf []byte, offset flatbuffers.UOffsetT) *MyApplicationsListRequest {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &MyApplicationsListRequest{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedMyApplicationsListRequestBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *MyApplicationsListRequest) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *MyApplicationsListRequest) Table() flatbuffers.Table {
return rcv._tab
}
func MyApplicationsListRequestStart(builder *flatbuffers.Builder) {
builder.StartObject(0)
}
func MyApplicationsListRequestEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
@@ -0,0 +1,75 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package lobby
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type MyApplicationsListResponse struct {
_tab flatbuffers.Table
}
func GetRootAsMyApplicationsListResponse(buf []byte, offset flatbuffers.UOffsetT) *MyApplicationsListResponse {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &MyApplicationsListResponse{}
x.Init(buf, n+offset)
return x
}
func FinishMyApplicationsListResponseBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsMyApplicationsListResponse(buf []byte, offset flatbuffers.UOffsetT) *MyApplicationsListResponse {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &MyApplicationsListResponse{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedMyApplicationsListResponseBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *MyApplicationsListResponse) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *MyApplicationsListResponse) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *MyApplicationsListResponse) Items(obj *ApplicationSummary, j int) bool {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
x := rcv._tab.Vector(o)
x += flatbuffers.UOffsetT(j) * 4
x = rcv._tab.Indirect(x)
obj.Init(rcv._tab.Bytes, x)
return true
}
return false
}
func (rcv *MyApplicationsListResponse) ItemsLength() int {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.VectorLen(o)
}
return 0
}
func MyApplicationsListResponseStart(builder *flatbuffers.Builder) {
builder.StartObject(1)
}
func MyApplicationsListResponseAddItems(builder *flatbuffers.Builder, items flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(items), 0)
}
func MyApplicationsListResponseStartItemsVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(4, numElems, 4)
}
func MyApplicationsListResponseEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
@@ -0,0 +1,49 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package lobby
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type MyInvitesListRequest struct {
_tab flatbuffers.Table
}
func GetRootAsMyInvitesListRequest(buf []byte, offset flatbuffers.UOffsetT) *MyInvitesListRequest {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &MyInvitesListRequest{}
x.Init(buf, n+offset)
return x
}
func FinishMyInvitesListRequestBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsMyInvitesListRequest(buf []byte, offset flatbuffers.UOffsetT) *MyInvitesListRequest {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &MyInvitesListRequest{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedMyInvitesListRequestBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *MyInvitesListRequest) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *MyInvitesListRequest) Table() flatbuffers.Table {
return rcv._tab
}
func MyInvitesListRequestStart(builder *flatbuffers.Builder) {
builder.StartObject(0)
}
func MyInvitesListRequestEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
@@ -0,0 +1,75 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package lobby
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type MyInvitesListResponse struct {
_tab flatbuffers.Table
}
func GetRootAsMyInvitesListResponse(buf []byte, offset flatbuffers.UOffsetT) *MyInvitesListResponse {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &MyInvitesListResponse{}
x.Init(buf, n+offset)
return x
}
func FinishMyInvitesListResponseBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsMyInvitesListResponse(buf []byte, offset flatbuffers.UOffsetT) *MyInvitesListResponse {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &MyInvitesListResponse{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedMyInvitesListResponseBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *MyInvitesListResponse) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *MyInvitesListResponse) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *MyInvitesListResponse) Items(obj *InviteSummary, j int) bool {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
x := rcv._tab.Vector(o)
x += flatbuffers.UOffsetT(j) * 4
x = rcv._tab.Indirect(x)
obj.Init(rcv._tab.Bytes, x)
return true
}
return false
}
func (rcv *MyInvitesListResponse) ItemsLength() int {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.VectorLen(o)
}
return 0
}
func MyInvitesListResponseStart(builder *flatbuffers.Builder) {
builder.StartObject(1)
}
func MyInvitesListResponseAddItems(builder *flatbuffers.Builder, items flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(items), 0)
}
func MyInvitesListResponseStartItemsVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(4, numElems, 4)
}
func MyInvitesListResponseEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
@@ -0,0 +1,79 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package lobby
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type PublicGamesListRequest struct {
_tab flatbuffers.Table
}
func GetRootAsPublicGamesListRequest(buf []byte, offset flatbuffers.UOffsetT) *PublicGamesListRequest {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &PublicGamesListRequest{}
x.Init(buf, n+offset)
return x
}
func FinishPublicGamesListRequestBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsPublicGamesListRequest(buf []byte, offset flatbuffers.UOffsetT) *PublicGamesListRequest {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &PublicGamesListRequest{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedPublicGamesListRequestBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *PublicGamesListRequest) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *PublicGamesListRequest) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *PublicGamesListRequest) Page() int32 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.GetInt32(o + rcv._tab.Pos)
}
return 0
}
func (rcv *PublicGamesListRequest) MutatePage(n int32) bool {
return rcv._tab.MutateInt32Slot(4, n)
}
func (rcv *PublicGamesListRequest) PageSize() int32 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
if o != 0 {
return rcv._tab.GetInt32(o + rcv._tab.Pos)
}
return 0
}
func (rcv *PublicGamesListRequest) MutatePageSize(n int32) bool {
return rcv._tab.MutateInt32Slot(6, n)
}
func PublicGamesListRequestStart(builder *flatbuffers.Builder) {
builder.StartObject(2)
}
func PublicGamesListRequestAddPage(builder *flatbuffers.Builder, page int32) {
builder.PrependInt32Slot(0, page, 0)
}
func PublicGamesListRequestAddPageSize(builder *flatbuffers.Builder, pageSize int32) {
builder.PrependInt32Slot(1, pageSize, 0)
}
func PublicGamesListRequestEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
@@ -0,0 +1,120 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package lobby
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type PublicGamesListResponse struct {
_tab flatbuffers.Table
}
func GetRootAsPublicGamesListResponse(buf []byte, offset flatbuffers.UOffsetT) *PublicGamesListResponse {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &PublicGamesListResponse{}
x.Init(buf, n+offset)
return x
}
func FinishPublicGamesListResponseBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsPublicGamesListResponse(buf []byte, offset flatbuffers.UOffsetT) *PublicGamesListResponse {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &PublicGamesListResponse{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedPublicGamesListResponseBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *PublicGamesListResponse) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *PublicGamesListResponse) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *PublicGamesListResponse) Items(obj *GameSummary, j int) bool {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
x := rcv._tab.Vector(o)
x += flatbuffers.UOffsetT(j) * 4
x = rcv._tab.Indirect(x)
obj.Init(rcv._tab.Bytes, x)
return true
}
return false
}
func (rcv *PublicGamesListResponse) ItemsLength() int {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.VectorLen(o)
}
return 0
}
func (rcv *PublicGamesListResponse) Page() int32 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
if o != 0 {
return rcv._tab.GetInt32(o + rcv._tab.Pos)
}
return 0
}
func (rcv *PublicGamesListResponse) MutatePage(n int32) bool {
return rcv._tab.MutateInt32Slot(6, n)
}
func (rcv *PublicGamesListResponse) PageSize() int32 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
if o != 0 {
return rcv._tab.GetInt32(o + rcv._tab.Pos)
}
return 0
}
func (rcv *PublicGamesListResponse) MutatePageSize(n int32) bool {
return rcv._tab.MutateInt32Slot(8, n)
}
func (rcv *PublicGamesListResponse) Total() int32 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
if o != 0 {
return rcv._tab.GetInt32(o + rcv._tab.Pos)
}
return 0
}
func (rcv *PublicGamesListResponse) MutateTotal(n int32) bool {
return rcv._tab.MutateInt32Slot(10, n)
}
func PublicGamesListResponseStart(builder *flatbuffers.Builder) {
builder.StartObject(4)
}
func PublicGamesListResponseAddItems(builder *flatbuffers.Builder, items flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(items), 0)
}
func PublicGamesListResponseStartItemsVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(4, numElems, 4)
}
func PublicGamesListResponseAddPage(builder *flatbuffers.Builder, page int32) {
builder.PrependInt32Slot(1, page, 0)
}
func PublicGamesListResponseAddPageSize(builder *flatbuffers.Builder, pageSize int32) {
builder.PrependInt32Slot(2, pageSize, 0)
}
func PublicGamesListResponseAddTotal(builder *flatbuffers.Builder, total int32) {
builder.PrependInt32Slot(3, total, 0)
}
func PublicGamesListResponseEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}