// automatically generated by the FlatBuffers compiler, do not modify import * as flatbuffers from 'flatbuffers'; import { AlphabetEntry } from '../scrabblefb/alphabet-entry.js'; import { GameView } from '../scrabblefb/game-view.js'; export class StateView { bb: flatbuffers.ByteBuffer|null = null; bb_pos = 0; __init(i:number, bb:flatbuffers.ByteBuffer):StateView { this.bb_pos = i; this.bb = bb; return this; } static getRootAsStateView(bb:flatbuffers.ByteBuffer, obj?:StateView):StateView { return (obj || new StateView()).__init(bb.readInt32(bb.position()) + bb.position(), bb); } static getSizePrefixedRootAsStateView(bb:flatbuffers.ByteBuffer, obj?:StateView):StateView { bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); return (obj || new StateView()).__init(bb.readInt32(bb.position()) + bb.position(), bb); } game(obj?:GameView):GameView|null { const offset = this.bb!.__offset(this.bb_pos, 4); return offset ? (obj || new GameView()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null; } seat():number { const offset = this.bb!.__offset(this.bb_pos, 6); return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; } rack(index: number):number|null { const offset = this.bb!.__offset(this.bb_pos, 8); return offset ? this.bb!.readUint8(this.bb!.__vector(this.bb_pos + offset) + index) : 0; } rackLength():number { const offset = this.bb!.__offset(this.bb_pos, 8); return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; } rackArray():Uint8Array|null { const offset = this.bb!.__offset(this.bb_pos, 8); return offset ? new Uint8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null; } bagLen():number { const offset = this.bb!.__offset(this.bb_pos, 10); return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; } hintsRemaining():number { const offset = this.bb!.__offset(this.bb_pos, 12); return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; } alphabet(index: number, obj?:AlphabetEntry):AlphabetEntry|null { const offset = this.bb!.__offset(this.bb_pos, 14); return offset ? (obj || new AlphabetEntry()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null; } alphabetLength():number { const offset = this.bb!.__offset(this.bb_pos, 14); return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; } walletBalance():number { const offset = this.bb!.__offset(this.bb_pos, 16); return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; } hintUnlockLeftSeconds():number { const offset = this.bb!.__offset(this.bb_pos, 18); return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; } static startStateView(builder:flatbuffers.Builder) { builder.startObject(8); } static addGame(builder:flatbuffers.Builder, gameOffset:flatbuffers.Offset) { builder.addFieldOffset(0, gameOffset, 0); } static addSeat(builder:flatbuffers.Builder, seat:number) { builder.addFieldInt32(1, seat, 0); } static addRack(builder:flatbuffers.Builder, rackOffset:flatbuffers.Offset) { builder.addFieldOffset(2, rackOffset, 0); } static createRackVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset { builder.startVector(1, data.length, 1); for (let i = data.length - 1; i >= 0; i--) { builder.addInt8(data[i]!); } return builder.endVector(); } static startRackVector(builder:flatbuffers.Builder, numElems:number) { builder.startVector(1, numElems, 1); } static addBagLen(builder:flatbuffers.Builder, bagLen:number) { builder.addFieldInt32(3, bagLen, 0); } static addHintsRemaining(builder:flatbuffers.Builder, hintsRemaining:number) { builder.addFieldInt32(4, hintsRemaining, 0); } static addAlphabet(builder:flatbuffers.Builder, alphabetOffset:flatbuffers.Offset) { builder.addFieldOffset(5, alphabetOffset, 0); } static createAlphabetVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { builder.startVector(4, data.length, 4); for (let i = data.length - 1; i >= 0; i--) { builder.addOffset(data[i]!); } return builder.endVector(); } static startAlphabetVector(builder:flatbuffers.Builder, numElems:number) { builder.startVector(4, numElems, 4); } static addWalletBalance(builder:flatbuffers.Builder, walletBalance:number) { builder.addFieldInt32(6, walletBalance, 0); } static addHintUnlockLeftSeconds(builder:flatbuffers.Builder, hintUnlockLeftSeconds:number) { builder.addFieldInt32(7, hintUnlockLeftSeconds, 0); } static endStateView(builder:flatbuffers.Builder):flatbuffers.Offset { const offset = builder.endObject(); return offset; } static createStateView(builder:flatbuffers.Builder, gameOffset:flatbuffers.Offset, seat:number, rackOffset:flatbuffers.Offset, bagLen:number, hintsRemaining:number, alphabetOffset:flatbuffers.Offset, walletBalance:number, hintUnlockLeftSeconds:number):flatbuffers.Offset { StateView.startStateView(builder); StateView.addGame(builder, gameOffset); StateView.addSeat(builder, seat); StateView.addRack(builder, rackOffset); StateView.addBagLen(builder, bagLen); StateView.addHintsRemaining(builder, hintsRemaining); StateView.addAlphabet(builder, alphabetOffset); StateView.addWalletBalance(builder, walletBalance); StateView.addHintUnlockLeftSeconds(builder, hintUnlockLeftSeconds); return StateView.endStateView(builder); } }