Merge commit '0f6aab9da6fe982218a01f4a5b896e65fcced437' as 'third_party/flatbuffers'
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
// <auto-generated>
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
// </auto-generated>
|
||||
|
||||
using global::System;
|
||||
using global::System.Collections.Generic;
|
||||
using global::Google.FlatBuffers;
|
||||
|
||||
public struct Attacker : IFlatbufferObject
|
||||
{
|
||||
private Table __p;
|
||||
public ByteBuffer ByteBuffer { get { return __p.bb; } }
|
||||
public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
|
||||
public static Attacker GetRootAsAttacker(ByteBuffer _bb) { return GetRootAsAttacker(_bb, new Attacker()); }
|
||||
public static Attacker GetRootAsAttacker(ByteBuffer _bb, Attacker obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
|
||||
public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
|
||||
public Attacker __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
|
||||
|
||||
public int SwordAttackDamage { get { int o = __p.__offset(4); return o != 0 ? __p.bb.GetInt(o + __p.bb_pos) : (int)0; } }
|
||||
public bool MutateSwordAttackDamage(int sword_attack_damage) { int o = __p.__offset(4); if (o != 0) { __p.bb.PutInt(o + __p.bb_pos, sword_attack_damage); return true; } else { return false; } }
|
||||
|
||||
public static Offset<Attacker> CreateAttacker(FlatBufferBuilder builder,
|
||||
int sword_attack_damage = 0) {
|
||||
builder.StartTable(1);
|
||||
Attacker.AddSwordAttackDamage(builder, sword_attack_damage);
|
||||
return Attacker.EndAttacker(builder);
|
||||
}
|
||||
|
||||
public static void StartAttacker(FlatBufferBuilder builder) { builder.StartTable(1); }
|
||||
public static void AddSwordAttackDamage(FlatBufferBuilder builder, int swordAttackDamage) { builder.AddInt(0, swordAttackDamage, 0); }
|
||||
public static Offset<Attacker> EndAttacker(FlatBufferBuilder builder) {
|
||||
int o = builder.EndTable();
|
||||
return new Offset<Attacker>(o);
|
||||
}
|
||||
public AttackerT UnPack() {
|
||||
var _o = new AttackerT();
|
||||
this.UnPackTo(_o);
|
||||
return _o;
|
||||
}
|
||||
public void UnPackTo(AttackerT _o) {
|
||||
_o.SwordAttackDamage = this.SwordAttackDamage;
|
||||
}
|
||||
public static Offset<Attacker> Pack(FlatBufferBuilder builder, AttackerT _o) {
|
||||
if (_o == null) return default(Offset<Attacker>);
|
||||
return CreateAttacker(
|
||||
builder,
|
||||
_o.SwordAttackDamage);
|
||||
}
|
||||
}
|
||||
|
||||
public class AttackerT
|
||||
{
|
||||
[Newtonsoft.Json.JsonProperty("sword_attack_damage")]
|
||||
public int SwordAttackDamage { get; set; }
|
||||
|
||||
public AttackerT() {
|
||||
this.SwordAttackDamage = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static public class AttackerVerify
|
||||
{
|
||||
static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
|
||||
{
|
||||
return verifier.VerifyTableStart(tablePos)
|
||||
&& verifier.VerifyField(tablePos, 4 /*SwordAttackDamage*/, 4 /*int*/, 4, false)
|
||||
&& verifier.VerifyTableEnd(tablePos);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.BaseVector;
|
||||
import com.google.flatbuffers.BooleanVector;
|
||||
import com.google.flatbuffers.ByteVector;
|
||||
import com.google.flatbuffers.Constants;
|
||||
import com.google.flatbuffers.DoubleVector;
|
||||
import com.google.flatbuffers.FlatBufferBuilder;
|
||||
import com.google.flatbuffers.FloatVector;
|
||||
import com.google.flatbuffers.IntVector;
|
||||
import com.google.flatbuffers.LongVector;
|
||||
import com.google.flatbuffers.ShortVector;
|
||||
import com.google.flatbuffers.StringVector;
|
||||
import com.google.flatbuffers.Struct;
|
||||
import com.google.flatbuffers.Table;
|
||||
import com.google.flatbuffers.UnionVector;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class Attacker extends Table {
|
||||
public static void ValidateVersion() { Constants.FLATBUFFERS_24_3_25(); }
|
||||
public static Attacker getRootAsAttacker(ByteBuffer _bb) { return getRootAsAttacker(_bb, new Attacker()); }
|
||||
public static Attacker getRootAsAttacker(ByteBuffer _bb, Attacker obj) { _bb.order(ByteOrder.LITTLE_ENDIAN); return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)); }
|
||||
public void __init(int _i, ByteBuffer _bb) { __reset(_i, _bb); }
|
||||
public Attacker __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
|
||||
|
||||
public int swordAttackDamage() { int o = __offset(4); return o != 0 ? bb.getInt(o + bb_pos) : 0; }
|
||||
public boolean mutateSwordAttackDamage(int sword_attack_damage) { int o = __offset(4); if (o != 0) { bb.putInt(o + bb_pos, sword_attack_damage); return true; } else { return false; } }
|
||||
|
||||
public static int createAttacker(FlatBufferBuilder builder,
|
||||
int swordAttackDamage) {
|
||||
builder.startTable(1);
|
||||
Attacker.addSwordAttackDamage(builder, swordAttackDamage);
|
||||
return Attacker.endAttacker(builder);
|
||||
}
|
||||
|
||||
public static void startAttacker(FlatBufferBuilder builder) { builder.startTable(1); }
|
||||
public static void addSwordAttackDamage(FlatBufferBuilder builder, int swordAttackDamage) { builder.addInt(0, swordAttackDamage, 0); }
|
||||
public static int endAttacker(FlatBufferBuilder builder) {
|
||||
int o = builder.endTable();
|
||||
return o;
|
||||
}
|
||||
|
||||
public static final class Vector extends BaseVector {
|
||||
public Vector __assign(int _vector, int _element_size, ByteBuffer _bb) { __reset(_vector, _element_size, _bb); return this; }
|
||||
|
||||
public Attacker get(int j) { return get(new Attacker(), j); }
|
||||
public Attacker get(Attacker obj, int j) { return obj.__assign(__indirect(__element(j), bb), bb); }
|
||||
}
|
||||
public AttackerT unpack() {
|
||||
AttackerT _o = new AttackerT();
|
||||
unpackTo(_o);
|
||||
return _o;
|
||||
}
|
||||
public void unpackTo(AttackerT _o) {
|
||||
int _oSwordAttackDamage = swordAttackDamage();
|
||||
_o.setSwordAttackDamage(_oSwordAttackDamage);
|
||||
}
|
||||
public static int pack(FlatBufferBuilder builder, AttackerT _o) {
|
||||
if (_o == null) return 0;
|
||||
return createAttacker(
|
||||
builder,
|
||||
_o.getSwordAttackDamage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.BaseVector
|
||||
import com.google.flatbuffers.BooleanVector
|
||||
import com.google.flatbuffers.ByteVector
|
||||
import com.google.flatbuffers.Constants
|
||||
import com.google.flatbuffers.DoubleVector
|
||||
import com.google.flatbuffers.FlatBufferBuilder
|
||||
import com.google.flatbuffers.FloatVector
|
||||
import com.google.flatbuffers.LongVector
|
||||
import com.google.flatbuffers.StringVector
|
||||
import com.google.flatbuffers.Struct
|
||||
import com.google.flatbuffers.Table
|
||||
import com.google.flatbuffers.UnionVector
|
||||
import java.nio.ByteBuffer
|
||||
import java.nio.ByteOrder
|
||||
import kotlin.math.sign
|
||||
|
||||
@Suppress("unused")
|
||||
class Attacker : Table() {
|
||||
|
||||
fun __init(_i: Int, _bb: ByteBuffer) {
|
||||
__reset(_i, _bb)
|
||||
}
|
||||
fun __assign(_i: Int, _bb: ByteBuffer) : Attacker {
|
||||
__init(_i, _bb)
|
||||
return this
|
||||
}
|
||||
val swordAttackDamage : Int
|
||||
get() {
|
||||
val o = __offset(4)
|
||||
return if(o != 0) bb.getInt(o + bb_pos) else 0
|
||||
}
|
||||
fun mutateSwordAttackDamage(swordAttackDamage: Int) : Boolean {
|
||||
val o = __offset(4)
|
||||
return if (o != 0) {
|
||||
bb.putInt(o + bb_pos, swordAttackDamage)
|
||||
true
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
companion object {
|
||||
fun validateVersion() = Constants.FLATBUFFERS_24_3_25()
|
||||
fun getRootAsAttacker(_bb: ByteBuffer): Attacker = getRootAsAttacker(_bb, Attacker())
|
||||
fun getRootAsAttacker(_bb: ByteBuffer, obj: Attacker): Attacker {
|
||||
_bb.order(ByteOrder.LITTLE_ENDIAN)
|
||||
return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb))
|
||||
}
|
||||
fun createAttacker(builder: FlatBufferBuilder, swordAttackDamage: Int) : Int {
|
||||
builder.startTable(1)
|
||||
addSwordAttackDamage(builder, swordAttackDamage)
|
||||
return endAttacker(builder)
|
||||
}
|
||||
fun startAttacker(builder: FlatBufferBuilder) = builder.startTable(1)
|
||||
fun addSwordAttackDamage(builder: FlatBufferBuilder, swordAttackDamage: Int) = builder.addInt(0, swordAttackDamage, 0)
|
||||
fun endAttacker(builder: FlatBufferBuilder) : Int {
|
||||
val o = builder.endTable()
|
||||
return o
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
use \Google\FlatBuffers\Struct;
|
||||
use \Google\FlatBuffers\Table;
|
||||
use \Google\FlatBuffers\ByteBuffer;
|
||||
use \Google\FlatBuffers\FlatBufferBuilder;
|
||||
|
||||
class Attacker extends Table
|
||||
{
|
||||
/**
|
||||
* @param ByteBuffer $bb
|
||||
* @return Attacker
|
||||
*/
|
||||
public static function getRootAsAttacker(ByteBuffer $bb)
|
||||
{
|
||||
$obj = new Attacker();
|
||||
return ($obj->init($bb->getInt($bb->getPosition()) + $bb->getPosition(), $bb));
|
||||
}
|
||||
|
||||
public static function AttackerIdentifier()
|
||||
{
|
||||
return "MOVI";
|
||||
}
|
||||
|
||||
public static function AttackerBufferHasIdentifier(ByteBuffer $buf)
|
||||
{
|
||||
return self::__has_identifier($buf, self::AttackerIdentifier());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $_i offset
|
||||
* @param ByteBuffer $_bb
|
||||
* @return Attacker
|
||||
**/
|
||||
public function init($_i, ByteBuffer $_bb)
|
||||
{
|
||||
$this->bb_pos = $_i;
|
||||
$this->bb = $_bb;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getSwordAttackDamage()
|
||||
{
|
||||
$o = $this->__offset(4);
|
||||
return $o != 0 ? $this->bb->getInt($o + $this->bb_pos) : 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FlatBufferBuilder $builder
|
||||
* @return void
|
||||
*/
|
||||
public static function startAttacker(FlatBufferBuilder $builder)
|
||||
{
|
||||
$builder->StartObject(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FlatBufferBuilder $builder
|
||||
* @return Attacker
|
||||
*/
|
||||
public static function createAttacker(FlatBufferBuilder $builder, $sword_attack_damage)
|
||||
{
|
||||
$builder->startObject(1);
|
||||
self::addSwordAttackDamage($builder, $sword_attack_damage);
|
||||
$o = $builder->endObject();
|
||||
return $o;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FlatBufferBuilder $builder
|
||||
* @param int
|
||||
* @return void
|
||||
*/
|
||||
public static function addSwordAttackDamage(FlatBufferBuilder $builder, $swordAttackDamage)
|
||||
{
|
||||
$builder->addIntX(0, $swordAttackDamage, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FlatBufferBuilder $builder
|
||||
* @return int table offset
|
||||
*/
|
||||
public static function endAttacker(FlatBufferBuilder $builder)
|
||||
{
|
||||
$o = $builder->endObject();
|
||||
return $o;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.BaseVector;
|
||||
import com.google.flatbuffers.BooleanVector;
|
||||
import com.google.flatbuffers.ByteVector;
|
||||
import com.google.flatbuffers.Constants;
|
||||
import com.google.flatbuffers.DoubleVector;
|
||||
import com.google.flatbuffers.FlatBufferBuilder;
|
||||
import com.google.flatbuffers.FloatVector;
|
||||
import com.google.flatbuffers.IntVector;
|
||||
import com.google.flatbuffers.LongVector;
|
||||
import com.google.flatbuffers.ShortVector;
|
||||
import com.google.flatbuffers.StringVector;
|
||||
import com.google.flatbuffers.Struct;
|
||||
import com.google.flatbuffers.Table;
|
||||
import com.google.flatbuffers.UnionVector;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
public class AttackerT {
|
||||
private int swordAttackDamage;
|
||||
|
||||
public int getSwordAttackDamage() { return swordAttackDamage; }
|
||||
|
||||
public void setSwordAttackDamage(int swordAttackDamage) { this.swordAttackDamage = swordAttackDamage; }
|
||||
|
||||
|
||||
public AttackerT() {
|
||||
this.swordAttackDamage = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
// <auto-generated>
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
// </auto-generated>
|
||||
|
||||
using global::System;
|
||||
using global::System.Collections.Generic;
|
||||
using global::Google.FlatBuffers;
|
||||
|
||||
public struct BookReader : IFlatbufferObject
|
||||
{
|
||||
private Struct __p;
|
||||
public ByteBuffer ByteBuffer { get { return __p.bb; } }
|
||||
public void __init(int _i, ByteBuffer _bb) { __p = new Struct(_i, _bb); }
|
||||
public BookReader __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
|
||||
|
||||
public int BooksRead { get { return __p.bb.GetInt(__p.bb_pos + 0); } }
|
||||
public void MutateBooksRead(int books_read) { __p.bb.PutInt(__p.bb_pos + 0, books_read); }
|
||||
|
||||
public static Offset<BookReader> CreateBookReader(FlatBufferBuilder builder, int BooksRead) {
|
||||
builder.Prep(4, 4);
|
||||
builder.PutInt(BooksRead);
|
||||
return new Offset<BookReader>(builder.Offset);
|
||||
}
|
||||
public BookReaderT UnPack() {
|
||||
var _o = new BookReaderT();
|
||||
this.UnPackTo(_o);
|
||||
return _o;
|
||||
}
|
||||
public void UnPackTo(BookReaderT _o) {
|
||||
_o.BooksRead = this.BooksRead;
|
||||
}
|
||||
public static Offset<BookReader> Pack(FlatBufferBuilder builder, BookReaderT _o) {
|
||||
if (_o == null) return default(Offset<BookReader>);
|
||||
return CreateBookReader(
|
||||
builder,
|
||||
_o.BooksRead);
|
||||
}
|
||||
}
|
||||
|
||||
public class BookReaderT
|
||||
{
|
||||
[Newtonsoft.Json.JsonProperty("books_read")]
|
||||
public int BooksRead { get; set; }
|
||||
|
||||
public BookReaderT() {
|
||||
this.BooksRead = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.BaseVector;
|
||||
import com.google.flatbuffers.BooleanVector;
|
||||
import com.google.flatbuffers.ByteVector;
|
||||
import com.google.flatbuffers.Constants;
|
||||
import com.google.flatbuffers.DoubleVector;
|
||||
import com.google.flatbuffers.FlatBufferBuilder;
|
||||
import com.google.flatbuffers.FloatVector;
|
||||
import com.google.flatbuffers.IntVector;
|
||||
import com.google.flatbuffers.LongVector;
|
||||
import com.google.flatbuffers.ShortVector;
|
||||
import com.google.flatbuffers.StringVector;
|
||||
import com.google.flatbuffers.Struct;
|
||||
import com.google.flatbuffers.Table;
|
||||
import com.google.flatbuffers.UnionVector;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class BookReader extends Struct {
|
||||
public void __init(int _i, ByteBuffer _bb) { __reset(_i, _bb); }
|
||||
public BookReader __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
|
||||
|
||||
public int booksRead() { return bb.getInt(bb_pos + 0); }
|
||||
public void mutateBooksRead(int books_read) { bb.putInt(bb_pos + 0, books_read); }
|
||||
|
||||
public static int createBookReader(FlatBufferBuilder builder, int booksRead) {
|
||||
builder.prep(4, 4);
|
||||
builder.putInt(booksRead);
|
||||
return builder.offset();
|
||||
}
|
||||
|
||||
public static final class Vector extends BaseVector {
|
||||
public Vector __assign(int _vector, int _element_size, ByteBuffer _bb) { __reset(_vector, _element_size, _bb); return this; }
|
||||
|
||||
public BookReader get(int j) { return get(new BookReader(), j); }
|
||||
public BookReader get(BookReader obj, int j) { return obj.__assign(__element(j), bb); }
|
||||
}
|
||||
public BookReaderT unpack() {
|
||||
BookReaderT _o = new BookReaderT();
|
||||
unpackTo(_o);
|
||||
return _o;
|
||||
}
|
||||
public void unpackTo(BookReaderT _o) {
|
||||
int _oBooksRead = booksRead();
|
||||
_o.setBooksRead(_oBooksRead);
|
||||
}
|
||||
public static int pack(FlatBufferBuilder builder, BookReaderT _o) {
|
||||
if (_o == null) return 0;
|
||||
return createBookReader(
|
||||
builder,
|
||||
_o.getBooksRead());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.BaseVector
|
||||
import com.google.flatbuffers.BooleanVector
|
||||
import com.google.flatbuffers.ByteVector
|
||||
import com.google.flatbuffers.Constants
|
||||
import com.google.flatbuffers.DoubleVector
|
||||
import com.google.flatbuffers.FlatBufferBuilder
|
||||
import com.google.flatbuffers.FloatVector
|
||||
import com.google.flatbuffers.LongVector
|
||||
import com.google.flatbuffers.StringVector
|
||||
import com.google.flatbuffers.Struct
|
||||
import com.google.flatbuffers.Table
|
||||
import com.google.flatbuffers.UnionVector
|
||||
import java.nio.ByteBuffer
|
||||
import java.nio.ByteOrder
|
||||
import kotlin.math.sign
|
||||
|
||||
@Suppress("unused")
|
||||
class BookReader : Struct() {
|
||||
|
||||
fun __init(_i: Int, _bb: ByteBuffer) {
|
||||
__reset(_i, _bb)
|
||||
}
|
||||
fun __assign(_i: Int, _bb: ByteBuffer) : BookReader {
|
||||
__init(_i, _bb)
|
||||
return this
|
||||
}
|
||||
val booksRead : Int get() = bb.getInt(bb_pos + 0)
|
||||
fun mutateBooksRead(booksRead: Int) : ByteBuffer = bb.putInt(bb_pos + 0, booksRead)
|
||||
companion object {
|
||||
fun createBookReader(builder: FlatBufferBuilder, booksRead: Int) : Int {
|
||||
builder.prep(4, 4)
|
||||
builder.putInt(booksRead)
|
||||
return builder.offset()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
use \Google\FlatBuffers\Struct;
|
||||
use \Google\FlatBuffers\Table;
|
||||
use \Google\FlatBuffers\ByteBuffer;
|
||||
use \Google\FlatBuffers\FlatBufferBuilder;
|
||||
|
||||
class BookReader extends Struct
|
||||
{
|
||||
/**
|
||||
* @param int $_i offset
|
||||
* @param ByteBuffer $_bb
|
||||
* @return BookReader
|
||||
**/
|
||||
public function init($_i, ByteBuffer $_bb)
|
||||
{
|
||||
$this->bb_pos = $_i;
|
||||
$this->bb = $_bb;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function GetBooksRead()
|
||||
{
|
||||
return $this->bb->getInt($this->bb_pos + 0);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return int offset
|
||||
*/
|
||||
public static function createBookReader(FlatBufferBuilder $builder, $booksRead)
|
||||
{
|
||||
$builder->prep(4, 4);
|
||||
$builder->putInt($booksRead);
|
||||
return $builder->offset();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.BaseVector;
|
||||
import com.google.flatbuffers.BooleanVector;
|
||||
import com.google.flatbuffers.ByteVector;
|
||||
import com.google.flatbuffers.Constants;
|
||||
import com.google.flatbuffers.DoubleVector;
|
||||
import com.google.flatbuffers.FlatBufferBuilder;
|
||||
import com.google.flatbuffers.FloatVector;
|
||||
import com.google.flatbuffers.IntVector;
|
||||
import com.google.flatbuffers.LongVector;
|
||||
import com.google.flatbuffers.ShortVector;
|
||||
import com.google.flatbuffers.StringVector;
|
||||
import com.google.flatbuffers.Struct;
|
||||
import com.google.flatbuffers.Table;
|
||||
import com.google.flatbuffers.UnionVector;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
public class BookReaderT {
|
||||
private int booksRead;
|
||||
|
||||
public int getBooksRead() { return booksRead; }
|
||||
|
||||
public void setBooksRead(int booksRead) { this.booksRead = booksRead; }
|
||||
|
||||
|
||||
public BookReaderT() {
|
||||
this.booksRead = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
// <auto-generated>
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
// </auto-generated>
|
||||
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
|
||||
public enum Character : byte
|
||||
{
|
||||
NONE = 0,
|
||||
MuLan = 1,
|
||||
Rapunzel = 2,
|
||||
Belle = 3,
|
||||
BookFan = 4,
|
||||
Other = 5,
|
||||
Unused = 6,
|
||||
};
|
||||
|
||||
public class CharacterUnion {
|
||||
public Character Type { get; set; }
|
||||
public object Value { get; set; }
|
||||
|
||||
public CharacterUnion() {
|
||||
this.Type = Character.NONE;
|
||||
this.Value = null;
|
||||
}
|
||||
|
||||
public T As<T>() where T : class { return this.Value as T; }
|
||||
public AttackerT AsMuLan() { return this.As<AttackerT>(); }
|
||||
public static CharacterUnion FromMuLan(AttackerT _mulan) { return new CharacterUnion{ Type = Character.MuLan, Value = _mulan }; }
|
||||
public RapunzelT AsRapunzel() { return this.As<RapunzelT>(); }
|
||||
public static CharacterUnion FromRapunzel(RapunzelT _rapunzel) { return new CharacterUnion{ Type = Character.Rapunzel, Value = _rapunzel }; }
|
||||
public BookReaderT AsBelle() { return this.As<BookReaderT>(); }
|
||||
public static CharacterUnion FromBelle(BookReaderT _belle) { return new CharacterUnion{ Type = Character.Belle, Value = _belle }; }
|
||||
public BookReaderT AsBookFan() { return this.As<BookReaderT>(); }
|
||||
public static CharacterUnion FromBookFan(BookReaderT _bookfan) { return new CharacterUnion{ Type = Character.BookFan, Value = _bookfan }; }
|
||||
public string AsOther() { return this.As<string>(); }
|
||||
public static CharacterUnion FromOther(string _other) { return new CharacterUnion{ Type = Character.Other, Value = _other }; }
|
||||
public string AsUnused() { return this.As<string>(); }
|
||||
public static CharacterUnion FromUnused(string _unused) { return new CharacterUnion{ Type = Character.Unused, Value = _unused }; }
|
||||
|
||||
public static int Pack(Google.FlatBuffers.FlatBufferBuilder builder, CharacterUnion _o) {
|
||||
switch (_o.Type) {
|
||||
default: return 0;
|
||||
case Character.MuLan: return Attacker.Pack(builder, _o.AsMuLan()).Value;
|
||||
case Character.Rapunzel: return Rapunzel.Pack(builder, _o.AsRapunzel()).Value;
|
||||
case Character.Belle: return BookReader.Pack(builder, _o.AsBelle()).Value;
|
||||
case Character.BookFan: return BookReader.Pack(builder, _o.AsBookFan()).Value;
|
||||
case Character.Other: return builder.CreateString(_o.AsOther()).Value;
|
||||
case Character.Unused: return builder.CreateString(_o.AsUnused()).Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class CharacterUnion_JsonConverter : Newtonsoft.Json.JsonConverter {
|
||||
public override bool CanConvert(System.Type objectType) {
|
||||
return objectType == typeof(CharacterUnion) || objectType == typeof(System.Collections.Generic.List<CharacterUnion>);
|
||||
}
|
||||
public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) {
|
||||
var _olist = value as System.Collections.Generic.List<CharacterUnion>;
|
||||
if (_olist != null) {
|
||||
writer.WriteStartArray();
|
||||
foreach (var _o in _olist) { this.WriteJson(writer, _o, serializer); }
|
||||
writer.WriteEndArray();
|
||||
} else {
|
||||
this.WriteJson(writer, value as CharacterUnion, serializer);
|
||||
}
|
||||
}
|
||||
public void WriteJson(Newtonsoft.Json.JsonWriter writer, CharacterUnion _o, Newtonsoft.Json.JsonSerializer serializer) {
|
||||
if (_o == null) return;
|
||||
serializer.Serialize(writer, _o.Value);
|
||||
}
|
||||
public override object ReadJson(Newtonsoft.Json.JsonReader reader, System.Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) {
|
||||
var _olist = existingValue as System.Collections.Generic.List<CharacterUnion>;
|
||||
if (_olist != null) {
|
||||
for (var _j = 0; _j < _olist.Count; ++_j) {
|
||||
reader.Read();
|
||||
_olist[_j] = this.ReadJson(reader, _olist[_j], serializer);
|
||||
}
|
||||
reader.Read();
|
||||
return _olist;
|
||||
} else {
|
||||
return this.ReadJson(reader, existingValue as CharacterUnion, serializer);
|
||||
}
|
||||
}
|
||||
public CharacterUnion ReadJson(Newtonsoft.Json.JsonReader reader, CharacterUnion _o, Newtonsoft.Json.JsonSerializer serializer) {
|
||||
if (_o == null) return null;
|
||||
switch (_o.Type) {
|
||||
default: break;
|
||||
case Character.MuLan: _o.Value = serializer.Deserialize<AttackerT>(reader); break;
|
||||
case Character.Rapunzel: _o.Value = serializer.Deserialize<RapunzelT>(reader); break;
|
||||
case Character.Belle: _o.Value = serializer.Deserialize<BookReaderT>(reader); break;
|
||||
case Character.BookFan: _o.Value = serializer.Deserialize<BookReaderT>(reader); break;
|
||||
case Character.Other: _o.Value = serializer.Deserialize<string>(reader); break;
|
||||
case Character.Unused: _o.Value = serializer.Deserialize<string>(reader); break;
|
||||
}
|
||||
return _o;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static public class CharacterVerify
|
||||
{
|
||||
static public bool Verify(Google.FlatBuffers.Verifier verifier, byte typeId, uint tablePos)
|
||||
{
|
||||
bool result = true;
|
||||
switch((Character)typeId)
|
||||
{
|
||||
case Character.MuLan:
|
||||
result = AttackerVerify.Verify(verifier, tablePos);
|
||||
break;
|
||||
case Character.Rapunzel:
|
||||
result = verifier.VerifyUnionData(tablePos, 4, 4);
|
||||
break;
|
||||
case Character.Belle:
|
||||
result = verifier.VerifyUnionData(tablePos, 4, 4);
|
||||
break;
|
||||
case Character.BookFan:
|
||||
result = verifier.VerifyUnionData(tablePos, 4, 4);
|
||||
break;
|
||||
case Character.Other:
|
||||
result = verifier.VerifyUnionString(tablePos);
|
||||
break;
|
||||
case Character.Unused:
|
||||
result = verifier.VerifyUnionString(tablePos);
|
||||
break;
|
||||
default: result = true;
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class Character {
|
||||
private Character() { }
|
||||
public static final byte NONE = 0;
|
||||
public static final byte MuLan = 1;
|
||||
public static final byte Rapunzel = 2;
|
||||
public static final byte Belle = 3;
|
||||
public static final byte BookFan = 4;
|
||||
public static final byte Other = 5;
|
||||
public static final byte Unused = 6;
|
||||
|
||||
public static final String[] names = { "NONE", "MuLan", "Rapunzel", "Belle", "BookFan", "Other", "Unused", };
|
||||
|
||||
public static String name(int e) { return names[e]; }
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
@Suppress("unused")
|
||||
class Character_ private constructor() {
|
||||
companion object {
|
||||
const val NONE: UByte = 0u
|
||||
const val MuLan: UByte = 1u
|
||||
const val Rapunzel: UByte = 2u
|
||||
const val Belle: UByte = 3u
|
||||
const val BookFan: UByte = 4u
|
||||
const val Other: UByte = 5u
|
||||
const val Unused: UByte = 6u
|
||||
val names : Array<String> = arrayOf("NONE", "MuLan", "Rapunzel", "Belle", "BookFan", "Other", "Unused")
|
||||
fun name(e: Int) : String = names[e]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
class Character
|
||||
{
|
||||
const NONE = 0;
|
||||
const MuLan = 1;
|
||||
const Rapunzel = 2;
|
||||
const Belle = 3;
|
||||
const BookFan = 4;
|
||||
const Other = 5;
|
||||
const Unused = 6;
|
||||
|
||||
private static $names = array(
|
||||
Character::NONE=>"NONE",
|
||||
Character::MuLan=>"MuLan",
|
||||
Character::Rapunzel=>"Rapunzel",
|
||||
Character::Belle=>"Belle",
|
||||
Character::BookFan=>"BookFan",
|
||||
Character::Other=>"Other",
|
||||
Character::Unused=>"Unused",
|
||||
);
|
||||
|
||||
public static function Name($e)
|
||||
{
|
||||
if (!isset(self::$names[$e])) {
|
||||
throw new \Exception();
|
||||
}
|
||||
return self::$names[$e];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.FlatBufferBuilder;
|
||||
|
||||
public class CharacterUnion {
|
||||
private byte type;
|
||||
private Object value;
|
||||
|
||||
public byte getType() { return type; }
|
||||
|
||||
public void setType(byte type) { this.type = type; }
|
||||
|
||||
public Object getValue() { return value; }
|
||||
|
||||
public void setValue(Object value) { this.value = value; }
|
||||
|
||||
public CharacterUnion() {
|
||||
this.type = Character.NONE;
|
||||
this.value = null;
|
||||
}
|
||||
|
||||
public AttackerT asMuLan() { return (AttackerT) value; }
|
||||
public RapunzelT asRapunzel() { return (RapunzelT) value; }
|
||||
public BookReaderT asBelle() { return (BookReaderT) value; }
|
||||
public BookReaderT asBookFan() { return (BookReaderT) value; }
|
||||
public String asOther() { return (String) value; }
|
||||
public String asUnused() { return (String) value; }
|
||||
|
||||
public static int pack(FlatBufferBuilder builder, CharacterUnion _o) {
|
||||
switch (_o.type) {
|
||||
case Character.MuLan: return Attacker.pack(builder, _o.asMuLan());
|
||||
case Character.Rapunzel: return Rapunzel.pack(builder, _o.asRapunzel());
|
||||
case Character.Belle: return BookReader.pack(builder, _o.asBelle());
|
||||
case Character.BookFan: return BookReader.pack(builder, _o.asBookFan());
|
||||
case Character.Other: return builder.createString(_o.asOther());
|
||||
case Character.Unused: return builder.createString(_o.asUnused());
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
// <auto-generated>
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
// </auto-generated>
|
||||
|
||||
using global::System;
|
||||
using global::System.Collections.Generic;
|
||||
using global::Google.FlatBuffers;
|
||||
|
||||
public struct FallingTub : IFlatbufferObject
|
||||
{
|
||||
private Struct __p;
|
||||
public ByteBuffer ByteBuffer { get { return __p.bb; } }
|
||||
public void __init(int _i, ByteBuffer _bb) { __p = new Struct(_i, _bb); }
|
||||
public FallingTub __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
|
||||
|
||||
public int Weight { get { return __p.bb.GetInt(__p.bb_pos + 0); } }
|
||||
public void MutateWeight(int weight) { __p.bb.PutInt(__p.bb_pos + 0, weight); }
|
||||
|
||||
public static Offset<FallingTub> CreateFallingTub(FlatBufferBuilder builder, int Weight) {
|
||||
builder.Prep(4, 4);
|
||||
builder.PutInt(Weight);
|
||||
return new Offset<FallingTub>(builder.Offset);
|
||||
}
|
||||
public FallingTubT UnPack() {
|
||||
var _o = new FallingTubT();
|
||||
this.UnPackTo(_o);
|
||||
return _o;
|
||||
}
|
||||
public void UnPackTo(FallingTubT _o) {
|
||||
_o.Weight = this.Weight;
|
||||
}
|
||||
public static Offset<FallingTub> Pack(FlatBufferBuilder builder, FallingTubT _o) {
|
||||
if (_o == null) return default(Offset<FallingTub>);
|
||||
return CreateFallingTub(
|
||||
builder,
|
||||
_o.Weight);
|
||||
}
|
||||
}
|
||||
|
||||
public class FallingTubT
|
||||
{
|
||||
[Newtonsoft.Json.JsonProperty("weight")]
|
||||
public int Weight { get; set; }
|
||||
|
||||
public FallingTubT() {
|
||||
this.Weight = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.BaseVector;
|
||||
import com.google.flatbuffers.BooleanVector;
|
||||
import com.google.flatbuffers.ByteVector;
|
||||
import com.google.flatbuffers.Constants;
|
||||
import com.google.flatbuffers.DoubleVector;
|
||||
import com.google.flatbuffers.FlatBufferBuilder;
|
||||
import com.google.flatbuffers.FloatVector;
|
||||
import com.google.flatbuffers.IntVector;
|
||||
import com.google.flatbuffers.LongVector;
|
||||
import com.google.flatbuffers.ShortVector;
|
||||
import com.google.flatbuffers.StringVector;
|
||||
import com.google.flatbuffers.Struct;
|
||||
import com.google.flatbuffers.Table;
|
||||
import com.google.flatbuffers.UnionVector;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class FallingTub extends Struct {
|
||||
public void __init(int _i, ByteBuffer _bb) { __reset(_i, _bb); }
|
||||
public FallingTub __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
|
||||
|
||||
public int weight() { return bb.getInt(bb_pos + 0); }
|
||||
public void mutateWeight(int weight) { bb.putInt(bb_pos + 0, weight); }
|
||||
|
||||
public static int createFallingTub(FlatBufferBuilder builder, int weight) {
|
||||
builder.prep(4, 4);
|
||||
builder.putInt(weight);
|
||||
return builder.offset();
|
||||
}
|
||||
|
||||
public static final class Vector extends BaseVector {
|
||||
public Vector __assign(int _vector, int _element_size, ByteBuffer _bb) { __reset(_vector, _element_size, _bb); return this; }
|
||||
|
||||
public FallingTub get(int j) { return get(new FallingTub(), j); }
|
||||
public FallingTub get(FallingTub obj, int j) { return obj.__assign(__element(j), bb); }
|
||||
}
|
||||
public FallingTubT unpack() {
|
||||
FallingTubT _o = new FallingTubT();
|
||||
unpackTo(_o);
|
||||
return _o;
|
||||
}
|
||||
public void unpackTo(FallingTubT _o) {
|
||||
int _oWeight = weight();
|
||||
_o.setWeight(_oWeight);
|
||||
}
|
||||
public static int pack(FlatBufferBuilder builder, FallingTubT _o) {
|
||||
if (_o == null) return 0;
|
||||
return createFallingTub(
|
||||
builder,
|
||||
_o.getWeight());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.BaseVector
|
||||
import com.google.flatbuffers.BooleanVector
|
||||
import com.google.flatbuffers.ByteVector
|
||||
import com.google.flatbuffers.Constants
|
||||
import com.google.flatbuffers.DoubleVector
|
||||
import com.google.flatbuffers.FlatBufferBuilder
|
||||
import com.google.flatbuffers.FloatVector
|
||||
import com.google.flatbuffers.LongVector
|
||||
import com.google.flatbuffers.StringVector
|
||||
import com.google.flatbuffers.Struct
|
||||
import com.google.flatbuffers.Table
|
||||
import com.google.flatbuffers.UnionVector
|
||||
import java.nio.ByteBuffer
|
||||
import java.nio.ByteOrder
|
||||
import kotlin.math.sign
|
||||
|
||||
@Suppress("unused")
|
||||
class FallingTub : Struct() {
|
||||
|
||||
fun __init(_i: Int, _bb: ByteBuffer) {
|
||||
__reset(_i, _bb)
|
||||
}
|
||||
fun __assign(_i: Int, _bb: ByteBuffer) : FallingTub {
|
||||
__init(_i, _bb)
|
||||
return this
|
||||
}
|
||||
val weight : Int get() = bb.getInt(bb_pos + 0)
|
||||
fun mutateWeight(weight: Int) : ByteBuffer = bb.putInt(bb_pos + 0, weight)
|
||||
companion object {
|
||||
fun createFallingTub(builder: FlatBufferBuilder, weight: Int) : Int {
|
||||
builder.prep(4, 4)
|
||||
builder.putInt(weight)
|
||||
return builder.offset()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
use \Google\FlatBuffers\Struct;
|
||||
use \Google\FlatBuffers\Table;
|
||||
use \Google\FlatBuffers\ByteBuffer;
|
||||
use \Google\FlatBuffers\FlatBufferBuilder;
|
||||
|
||||
class FallingTub extends Struct
|
||||
{
|
||||
/**
|
||||
* @param int $_i offset
|
||||
* @param ByteBuffer $_bb
|
||||
* @return FallingTub
|
||||
**/
|
||||
public function init($_i, ByteBuffer $_bb)
|
||||
{
|
||||
$this->bb_pos = $_i;
|
||||
$this->bb = $_bb;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function GetWeight()
|
||||
{
|
||||
return $this->bb->getInt($this->bb_pos + 0);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return int offset
|
||||
*/
|
||||
public static function createFallingTub(FlatBufferBuilder $builder, $weight)
|
||||
{
|
||||
$builder->prep(4, 4);
|
||||
$builder->putInt($weight);
|
||||
return $builder->offset();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.BaseVector;
|
||||
import com.google.flatbuffers.BooleanVector;
|
||||
import com.google.flatbuffers.ByteVector;
|
||||
import com.google.flatbuffers.Constants;
|
||||
import com.google.flatbuffers.DoubleVector;
|
||||
import com.google.flatbuffers.FlatBufferBuilder;
|
||||
import com.google.flatbuffers.FloatVector;
|
||||
import com.google.flatbuffers.IntVector;
|
||||
import com.google.flatbuffers.LongVector;
|
||||
import com.google.flatbuffers.ShortVector;
|
||||
import com.google.flatbuffers.StringVector;
|
||||
import com.google.flatbuffers.Struct;
|
||||
import com.google.flatbuffers.Table;
|
||||
import com.google.flatbuffers.UnionVector;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
public class FallingTubT {
|
||||
private int weight;
|
||||
|
||||
public int getWeight() { return weight; }
|
||||
|
||||
public void setWeight(int weight) { this.weight = weight; }
|
||||
|
||||
|
||||
public FallingTubT() {
|
||||
this.weight = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
// <auto-generated>
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
// </auto-generated>
|
||||
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
|
||||
public enum Gadget : byte
|
||||
{
|
||||
NONE = 0,
|
||||
FallingTub = 1,
|
||||
HandFan = 2,
|
||||
};
|
||||
|
||||
public class GadgetUnion {
|
||||
public Gadget Type { get; set; }
|
||||
public object Value { get; set; }
|
||||
|
||||
public GadgetUnion() {
|
||||
this.Type = Gadget.NONE;
|
||||
this.Value = null;
|
||||
}
|
||||
|
||||
public T As<T>() where T : class { return this.Value as T; }
|
||||
public FallingTubT AsFallingTub() { return this.As<FallingTubT>(); }
|
||||
public static GadgetUnion FromFallingTub(FallingTubT _fallingtub) { return new GadgetUnion{ Type = Gadget.FallingTub, Value = _fallingtub }; }
|
||||
public HandFanT AsHandFan() { return this.As<HandFanT>(); }
|
||||
public static GadgetUnion FromHandFan(HandFanT _handfan) { return new GadgetUnion{ Type = Gadget.HandFan, Value = _handfan }; }
|
||||
|
||||
public static int Pack(Google.FlatBuffers.FlatBufferBuilder builder, GadgetUnion _o) {
|
||||
switch (_o.Type) {
|
||||
default: return 0;
|
||||
case Gadget.FallingTub: return FallingTub.Pack(builder, _o.AsFallingTub()).Value;
|
||||
case Gadget.HandFan: return HandFan.Pack(builder, _o.AsHandFan()).Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class GadgetUnion_JsonConverter : Newtonsoft.Json.JsonConverter {
|
||||
public override bool CanConvert(System.Type objectType) {
|
||||
return objectType == typeof(GadgetUnion) || objectType == typeof(System.Collections.Generic.List<GadgetUnion>);
|
||||
}
|
||||
public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) {
|
||||
var _olist = value as System.Collections.Generic.List<GadgetUnion>;
|
||||
if (_olist != null) {
|
||||
writer.WriteStartArray();
|
||||
foreach (var _o in _olist) { this.WriteJson(writer, _o, serializer); }
|
||||
writer.WriteEndArray();
|
||||
} else {
|
||||
this.WriteJson(writer, value as GadgetUnion, serializer);
|
||||
}
|
||||
}
|
||||
public void WriteJson(Newtonsoft.Json.JsonWriter writer, GadgetUnion _o, Newtonsoft.Json.JsonSerializer serializer) {
|
||||
if (_o == null) return;
|
||||
serializer.Serialize(writer, _o.Value);
|
||||
}
|
||||
public override object ReadJson(Newtonsoft.Json.JsonReader reader, System.Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) {
|
||||
var _olist = existingValue as System.Collections.Generic.List<GadgetUnion>;
|
||||
if (_olist != null) {
|
||||
for (var _j = 0; _j < _olist.Count; ++_j) {
|
||||
reader.Read();
|
||||
_olist[_j] = this.ReadJson(reader, _olist[_j], serializer);
|
||||
}
|
||||
reader.Read();
|
||||
return _olist;
|
||||
} else {
|
||||
return this.ReadJson(reader, existingValue as GadgetUnion, serializer);
|
||||
}
|
||||
}
|
||||
public GadgetUnion ReadJson(Newtonsoft.Json.JsonReader reader, GadgetUnion _o, Newtonsoft.Json.JsonSerializer serializer) {
|
||||
if (_o == null) return null;
|
||||
switch (_o.Type) {
|
||||
default: break;
|
||||
case Gadget.FallingTub: _o.Value = serializer.Deserialize<FallingTubT>(reader); break;
|
||||
case Gadget.HandFan: _o.Value = serializer.Deserialize<HandFanT>(reader); break;
|
||||
}
|
||||
return _o;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static public class GadgetVerify
|
||||
{
|
||||
static public bool Verify(Google.FlatBuffers.Verifier verifier, byte typeId, uint tablePos)
|
||||
{
|
||||
bool result = true;
|
||||
switch((Gadget)typeId)
|
||||
{
|
||||
case Gadget.FallingTub:
|
||||
result = verifier.VerifyUnionData(tablePos, 4, 4);
|
||||
break;
|
||||
case Gadget.HandFan:
|
||||
result = HandFanVerify.Verify(verifier, tablePos);
|
||||
break;
|
||||
default: result = true;
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class Gadget {
|
||||
private Gadget() { }
|
||||
public static final byte NONE = 0;
|
||||
public static final byte FallingTub = 1;
|
||||
public static final byte HandFan = 2;
|
||||
|
||||
public static final String[] names = { "NONE", "FallingTub", "HandFan", };
|
||||
|
||||
public static String name(int e) { return names[e]; }
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
@Suppress("unused")
|
||||
class Gadget private constructor() {
|
||||
companion object {
|
||||
const val NONE: UByte = 0u
|
||||
const val FallingTub: UByte = 1u
|
||||
const val HandFan: UByte = 2u
|
||||
val names : Array<String> = arrayOf("NONE", "FallingTub", "HandFan")
|
||||
fun name(e: Int) : String = names[e]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
class Gadget
|
||||
{
|
||||
const NONE = 0;
|
||||
const FallingTub = 1;
|
||||
const HandFan = 2;
|
||||
|
||||
private static $names = array(
|
||||
Gadget::NONE=>"NONE",
|
||||
Gadget::FallingTub=>"FallingTub",
|
||||
Gadget::HandFan=>"HandFan",
|
||||
);
|
||||
|
||||
public static function Name($e)
|
||||
{
|
||||
if (!isset(self::$names[$e])) {
|
||||
throw new \Exception();
|
||||
}
|
||||
return self::$names[$e];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.FlatBufferBuilder;
|
||||
|
||||
public class GadgetUnion {
|
||||
private byte type;
|
||||
private Object value;
|
||||
|
||||
public byte getType() { return type; }
|
||||
|
||||
public void setType(byte type) { this.type = type; }
|
||||
|
||||
public Object getValue() { return value; }
|
||||
|
||||
public void setValue(Object value) { this.value = value; }
|
||||
|
||||
public GadgetUnion() {
|
||||
this.type = Gadget.NONE;
|
||||
this.value = null;
|
||||
}
|
||||
|
||||
public FallingTubT asFallingTub() { return (FallingTubT) value; }
|
||||
public HandFanT asHandFan() { return (HandFanT) value; }
|
||||
|
||||
public static int pack(FlatBufferBuilder builder, GadgetUnion _o) {
|
||||
switch (_o.type) {
|
||||
case Gadget.FallingTub: return FallingTub.pack(builder, _o.asFallingTub());
|
||||
case Gadget.HandFan: return HandFan.pack(builder, _o.asHandFan());
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
// <auto-generated>
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
// </auto-generated>
|
||||
|
||||
using global::System;
|
||||
using global::System.Collections.Generic;
|
||||
using global::Google.FlatBuffers;
|
||||
|
||||
public struct HandFan : IFlatbufferObject
|
||||
{
|
||||
private Table __p;
|
||||
public ByteBuffer ByteBuffer { get { return __p.bb; } }
|
||||
public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
|
||||
public static HandFan GetRootAsHandFan(ByteBuffer _bb) { return GetRootAsHandFan(_bb, new HandFan()); }
|
||||
public static HandFan GetRootAsHandFan(ByteBuffer _bb, HandFan obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
|
||||
public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
|
||||
public HandFan __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
|
||||
|
||||
public int Length { get { int o = __p.__offset(4); return o != 0 ? __p.bb.GetInt(o + __p.bb_pos) : (int)0; } }
|
||||
public bool MutateLength(int length) { int o = __p.__offset(4); if (o != 0) { __p.bb.PutInt(o + __p.bb_pos, length); return true; } else { return false; } }
|
||||
|
||||
public static Offset<HandFan> CreateHandFan(FlatBufferBuilder builder,
|
||||
int length = 0) {
|
||||
builder.StartTable(1);
|
||||
HandFan.AddLength(builder, length);
|
||||
return HandFan.EndHandFan(builder);
|
||||
}
|
||||
|
||||
public static void StartHandFan(FlatBufferBuilder builder) { builder.StartTable(1); }
|
||||
public static void AddLength(FlatBufferBuilder builder, int length) { builder.AddInt(0, length, 0); }
|
||||
public static Offset<HandFan> EndHandFan(FlatBufferBuilder builder) {
|
||||
int o = builder.EndTable();
|
||||
return new Offset<HandFan>(o);
|
||||
}
|
||||
public HandFanT UnPack() {
|
||||
var _o = new HandFanT();
|
||||
this.UnPackTo(_o);
|
||||
return _o;
|
||||
}
|
||||
public void UnPackTo(HandFanT _o) {
|
||||
_o.Length = this.Length;
|
||||
}
|
||||
public static Offset<HandFan> Pack(FlatBufferBuilder builder, HandFanT _o) {
|
||||
if (_o == null) return default(Offset<HandFan>);
|
||||
return CreateHandFan(
|
||||
builder,
|
||||
_o.Length);
|
||||
}
|
||||
}
|
||||
|
||||
public class HandFanT
|
||||
{
|
||||
[Newtonsoft.Json.JsonProperty("length")]
|
||||
public int Length { get; set; }
|
||||
|
||||
public HandFanT() {
|
||||
this.Length = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static public class HandFanVerify
|
||||
{
|
||||
static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
|
||||
{
|
||||
return verifier.VerifyTableStart(tablePos)
|
||||
&& verifier.VerifyField(tablePos, 4 /*Length*/, 4 /*int*/, 4, false)
|
||||
&& verifier.VerifyTableEnd(tablePos);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.BaseVector;
|
||||
import com.google.flatbuffers.BooleanVector;
|
||||
import com.google.flatbuffers.ByteVector;
|
||||
import com.google.flatbuffers.Constants;
|
||||
import com.google.flatbuffers.DoubleVector;
|
||||
import com.google.flatbuffers.FlatBufferBuilder;
|
||||
import com.google.flatbuffers.FloatVector;
|
||||
import com.google.flatbuffers.IntVector;
|
||||
import com.google.flatbuffers.LongVector;
|
||||
import com.google.flatbuffers.ShortVector;
|
||||
import com.google.flatbuffers.StringVector;
|
||||
import com.google.flatbuffers.Struct;
|
||||
import com.google.flatbuffers.Table;
|
||||
import com.google.flatbuffers.UnionVector;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class HandFan extends Table {
|
||||
public static void ValidateVersion() { Constants.FLATBUFFERS_24_3_25(); }
|
||||
public static HandFan getRootAsHandFan(ByteBuffer _bb) { return getRootAsHandFan(_bb, new HandFan()); }
|
||||
public static HandFan getRootAsHandFan(ByteBuffer _bb, HandFan obj) { _bb.order(ByteOrder.LITTLE_ENDIAN); return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)); }
|
||||
public void __init(int _i, ByteBuffer _bb) { __reset(_i, _bb); }
|
||||
public HandFan __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
|
||||
|
||||
public int length() { int o = __offset(4); return o != 0 ? bb.getInt(o + bb_pos) : 0; }
|
||||
public boolean mutateLength(int length) { int o = __offset(4); if (o != 0) { bb.putInt(o + bb_pos, length); return true; } else { return false; } }
|
||||
|
||||
public static int createHandFan(FlatBufferBuilder builder,
|
||||
int length) {
|
||||
builder.startTable(1);
|
||||
HandFan.addLength(builder, length);
|
||||
return HandFan.endHandFan(builder);
|
||||
}
|
||||
|
||||
public static void startHandFan(FlatBufferBuilder builder) { builder.startTable(1); }
|
||||
public static void addLength(FlatBufferBuilder builder, int length) { builder.addInt(0, length, 0); }
|
||||
public static int endHandFan(FlatBufferBuilder builder) {
|
||||
int o = builder.endTable();
|
||||
return o;
|
||||
}
|
||||
|
||||
public static final class Vector extends BaseVector {
|
||||
public Vector __assign(int _vector, int _element_size, ByteBuffer _bb) { __reset(_vector, _element_size, _bb); return this; }
|
||||
|
||||
public HandFan get(int j) { return get(new HandFan(), j); }
|
||||
public HandFan get(HandFan obj, int j) { return obj.__assign(__indirect(__element(j), bb), bb); }
|
||||
}
|
||||
public HandFanT unpack() {
|
||||
HandFanT _o = new HandFanT();
|
||||
unpackTo(_o);
|
||||
return _o;
|
||||
}
|
||||
public void unpackTo(HandFanT _o) {
|
||||
int _oLength = length();
|
||||
_o.setLength(_oLength);
|
||||
}
|
||||
public static int pack(FlatBufferBuilder builder, HandFanT _o) {
|
||||
if (_o == null) return 0;
|
||||
return createHandFan(
|
||||
builder,
|
||||
_o.getLength());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.BaseVector
|
||||
import com.google.flatbuffers.BooleanVector
|
||||
import com.google.flatbuffers.ByteVector
|
||||
import com.google.flatbuffers.Constants
|
||||
import com.google.flatbuffers.DoubleVector
|
||||
import com.google.flatbuffers.FlatBufferBuilder
|
||||
import com.google.flatbuffers.FloatVector
|
||||
import com.google.flatbuffers.LongVector
|
||||
import com.google.flatbuffers.StringVector
|
||||
import com.google.flatbuffers.Struct
|
||||
import com.google.flatbuffers.Table
|
||||
import com.google.flatbuffers.UnionVector
|
||||
import java.nio.ByteBuffer
|
||||
import java.nio.ByteOrder
|
||||
import kotlin.math.sign
|
||||
|
||||
@Suppress("unused")
|
||||
class HandFan : Table() {
|
||||
|
||||
fun __init(_i: Int, _bb: ByteBuffer) {
|
||||
__reset(_i, _bb)
|
||||
}
|
||||
fun __assign(_i: Int, _bb: ByteBuffer) : HandFan {
|
||||
__init(_i, _bb)
|
||||
return this
|
||||
}
|
||||
val length : Int
|
||||
get() {
|
||||
val o = __offset(4)
|
||||
return if(o != 0) bb.getInt(o + bb_pos) else 0
|
||||
}
|
||||
fun mutateLength(length: Int) : Boolean {
|
||||
val o = __offset(4)
|
||||
return if (o != 0) {
|
||||
bb.putInt(o + bb_pos, length)
|
||||
true
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
companion object {
|
||||
fun validateVersion() = Constants.FLATBUFFERS_24_3_25()
|
||||
fun getRootAsHandFan(_bb: ByteBuffer): HandFan = getRootAsHandFan(_bb, HandFan())
|
||||
fun getRootAsHandFan(_bb: ByteBuffer, obj: HandFan): HandFan {
|
||||
_bb.order(ByteOrder.LITTLE_ENDIAN)
|
||||
return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb))
|
||||
}
|
||||
fun createHandFan(builder: FlatBufferBuilder, length: Int) : Int {
|
||||
builder.startTable(1)
|
||||
addLength(builder, length)
|
||||
return endHandFan(builder)
|
||||
}
|
||||
fun startHandFan(builder: FlatBufferBuilder) = builder.startTable(1)
|
||||
fun addLength(builder: FlatBufferBuilder, length: Int) = builder.addInt(0, length, 0)
|
||||
fun endHandFan(builder: FlatBufferBuilder) : Int {
|
||||
val o = builder.endTable()
|
||||
return o
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
use \Google\FlatBuffers\Struct;
|
||||
use \Google\FlatBuffers\Table;
|
||||
use \Google\FlatBuffers\ByteBuffer;
|
||||
use \Google\FlatBuffers\FlatBufferBuilder;
|
||||
|
||||
class HandFan extends Table
|
||||
{
|
||||
/**
|
||||
* @param ByteBuffer $bb
|
||||
* @return HandFan
|
||||
*/
|
||||
public static function getRootAsHandFan(ByteBuffer $bb)
|
||||
{
|
||||
$obj = new HandFan();
|
||||
return ($obj->init($bb->getInt($bb->getPosition()) + $bb->getPosition(), $bb));
|
||||
}
|
||||
|
||||
public static function HandFanIdentifier()
|
||||
{
|
||||
return "MOVI";
|
||||
}
|
||||
|
||||
public static function HandFanBufferHasIdentifier(ByteBuffer $buf)
|
||||
{
|
||||
return self::__has_identifier($buf, self::HandFanIdentifier());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $_i offset
|
||||
* @param ByteBuffer $_bb
|
||||
* @return HandFan
|
||||
**/
|
||||
public function init($_i, ByteBuffer $_bb)
|
||||
{
|
||||
$this->bb_pos = $_i;
|
||||
$this->bb = $_bb;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getLength()
|
||||
{
|
||||
$o = $this->__offset(4);
|
||||
return $o != 0 ? $this->bb->getInt($o + $this->bb_pos) : 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FlatBufferBuilder $builder
|
||||
* @return void
|
||||
*/
|
||||
public static function startHandFan(FlatBufferBuilder $builder)
|
||||
{
|
||||
$builder->StartObject(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FlatBufferBuilder $builder
|
||||
* @return HandFan
|
||||
*/
|
||||
public static function createHandFan(FlatBufferBuilder $builder, $length)
|
||||
{
|
||||
$builder->startObject(1);
|
||||
self::addLength($builder, $length);
|
||||
$o = $builder->endObject();
|
||||
return $o;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FlatBufferBuilder $builder
|
||||
* @param int
|
||||
* @return void
|
||||
*/
|
||||
public static function addLength(FlatBufferBuilder $builder, $length)
|
||||
{
|
||||
$builder->addIntX(0, $length, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FlatBufferBuilder $builder
|
||||
* @return int table offset
|
||||
*/
|
||||
public static function endHandFan(FlatBufferBuilder $builder)
|
||||
{
|
||||
$o = $builder->endObject();
|
||||
return $o;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.BaseVector;
|
||||
import com.google.flatbuffers.BooleanVector;
|
||||
import com.google.flatbuffers.ByteVector;
|
||||
import com.google.flatbuffers.Constants;
|
||||
import com.google.flatbuffers.DoubleVector;
|
||||
import com.google.flatbuffers.FlatBufferBuilder;
|
||||
import com.google.flatbuffers.FloatVector;
|
||||
import com.google.flatbuffers.IntVector;
|
||||
import com.google.flatbuffers.LongVector;
|
||||
import com.google.flatbuffers.ShortVector;
|
||||
import com.google.flatbuffers.StringVector;
|
||||
import com.google.flatbuffers.Struct;
|
||||
import com.google.flatbuffers.Table;
|
||||
import com.google.flatbuffers.UnionVector;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
public class HandFanT {
|
||||
private int length;
|
||||
|
||||
public int getLength() { return length; }
|
||||
|
||||
public void setLength(int length) { this.length = length; }
|
||||
|
||||
|
||||
public HandFanT() {
|
||||
this.length = 0;
|
||||
}
|
||||
}
|
||||
|
||||
+226
@@ -0,0 +1,226 @@
|
||||
// <auto-generated>
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
// </auto-generated>
|
||||
|
||||
using global::System;
|
||||
using global::System.Collections.Generic;
|
||||
using global::Google.FlatBuffers;
|
||||
|
||||
public struct Movie : IFlatbufferObject
|
||||
{
|
||||
private Table __p;
|
||||
public ByteBuffer ByteBuffer { get { return __p.bb; } }
|
||||
public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
|
||||
public static Movie GetRootAsMovie(ByteBuffer _bb) { return GetRootAsMovie(_bb, new Movie()); }
|
||||
public static Movie GetRootAsMovie(ByteBuffer _bb, Movie obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
|
||||
public static bool MovieBufferHasIdentifier(ByteBuffer _bb) { return Table.__has_identifier(_bb, "MOVI"); }
|
||||
public static bool VerifyMovie(ByteBuffer _bb) {Google.FlatBuffers.Verifier verifier = new Google.FlatBuffers.Verifier(_bb); return verifier.VerifyBuffer("MOVI", false, MovieVerify.Verify); }
|
||||
public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
|
||||
public Movie __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
|
||||
|
||||
public Character MainCharacterType { get { int o = __p.__offset(4); return o != 0 ? (Character)__p.bb.Get(o + __p.bb_pos) : Character.NONE; } }
|
||||
public TTable? MainCharacter<TTable>() where TTable : struct, IFlatbufferObject { int o = __p.__offset(6); return o != 0 ? (TTable?)__p.__union<TTable>(o + __p.bb_pos) : null; }
|
||||
public string MainCharacterAsString() { int o = __p.__offset(6); return o != 0 ? __p.__string(o + __p.bb_pos) : null; }
|
||||
public Attacker MainCharacterAsMuLan() { return MainCharacter<Attacker>().Value; }
|
||||
public Rapunzel MainCharacterAsRapunzel() { return MainCharacter<Rapunzel>().Value; }
|
||||
public BookReader MainCharacterAsBelle() { return MainCharacter<BookReader>().Value; }
|
||||
public BookReader MainCharacterAsBookFan() { return MainCharacter<BookReader>().Value; }
|
||||
public string MainCharacterAsOther() { return MainCharacterAsString(); }
|
||||
public string MainCharacterAsUnused() { return MainCharacterAsString(); }
|
||||
public Character CharactersType(int j) { int o = __p.__offset(8); return o != 0 ? (Character)__p.bb.Get(__p.__vector(o) + j * 1) : (Character)0; }
|
||||
public int CharactersTypeLength { get { int o = __p.__offset(8); return o != 0 ? __p.__vector_len(o) : 0; } }
|
||||
#if ENABLE_SPAN_T
|
||||
public Span<Character> GetCharactersTypeBytes() { return __p.__vector_as_span<Character>(8, 1); }
|
||||
#else
|
||||
public ArraySegment<byte>? GetCharactersTypeBytes() { return __p.__vector_as_arraysegment(8); }
|
||||
#endif
|
||||
public Character[] GetCharactersTypeArray() { int o = __p.__offset(8); if (o == 0) return null; int p = __p.__vector(o); int l = __p.__vector_len(o); Character[] a = new Character[l]; for (int i = 0; i < l; i++) { a[i] = (Character)__p.bb.Get(p + i * 1); } return a; }
|
||||
public TTable? Characters<TTable>(int j) where TTable : struct, IFlatbufferObject { int o = __p.__offset(10); return o != 0 ? (TTable?)__p.__union<TTable>(__p.__vector(o) + j * 4) : null; }
|
||||
public string CharactersAsString(int j) { int o = __p.__offset(10); return o != 0 ? __p.__string(__p.__vector(o) + j * 4) : null; }
|
||||
public int CharactersLength { get { int o = __p.__offset(10); return o != 0 ? __p.__vector_len(o) : 0; } }
|
||||
|
||||
public static Offset<Movie> CreateMovie(FlatBufferBuilder builder,
|
||||
Character main_character_type = Character.NONE,
|
||||
int main_characterOffset = 0,
|
||||
VectorOffset characters_typeOffset = default(VectorOffset),
|
||||
VectorOffset charactersOffset = default(VectorOffset)) {
|
||||
builder.StartTable(4);
|
||||
Movie.AddCharacters(builder, charactersOffset);
|
||||
Movie.AddCharactersType(builder, characters_typeOffset);
|
||||
Movie.AddMainCharacter(builder, main_characterOffset);
|
||||
Movie.AddMainCharacterType(builder, main_character_type);
|
||||
return Movie.EndMovie(builder);
|
||||
}
|
||||
|
||||
public static void StartMovie(FlatBufferBuilder builder) { builder.StartTable(4); }
|
||||
public static void AddMainCharacterType(FlatBufferBuilder builder, Character mainCharacterType) { builder.AddByte(0, (byte)mainCharacterType, 0); }
|
||||
public static void AddMainCharacter(FlatBufferBuilder builder, int mainCharacterOffset) { builder.AddOffset(1, mainCharacterOffset, 0); }
|
||||
public static void AddCharactersType(FlatBufferBuilder builder, VectorOffset charactersTypeOffset) { builder.AddOffset(2, charactersTypeOffset.Value, 0); }
|
||||
public static VectorOffset CreateCharactersTypeVector(FlatBufferBuilder builder, Character[] data) { builder.StartVector(1, data.Length, 1); for (int i = data.Length - 1; i >= 0; i--) builder.AddByte((byte)data[i]); return builder.EndVector(); }
|
||||
public static VectorOffset CreateCharactersTypeVectorBlock(FlatBufferBuilder builder, Character[] data) { builder.StartVector(1, data.Length, 1); builder.Add(data); return builder.EndVector(); }
|
||||
public static VectorOffset CreateCharactersTypeVectorBlock(FlatBufferBuilder builder, ArraySegment<Character> data) { builder.StartVector(1, data.Count, 1); builder.Add(data); return builder.EndVector(); }
|
||||
public static VectorOffset CreateCharactersTypeVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add<Character>(dataPtr, sizeInBytes); return builder.EndVector(); }
|
||||
public static void StartCharactersTypeVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(1, numElems, 1); }
|
||||
public static void AddCharacters(FlatBufferBuilder builder, VectorOffset charactersOffset) { builder.AddOffset(3, charactersOffset.Value, 0); }
|
||||
public static VectorOffset CreateCharactersVector(FlatBufferBuilder builder, int[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddOffset(data[i]); return builder.EndVector(); }
|
||||
public static VectorOffset CreateCharactersVectorBlock(FlatBufferBuilder builder, int[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); }
|
||||
public static VectorOffset CreateCharactersVectorBlock(FlatBufferBuilder builder, ArraySegment<int> data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); }
|
||||
public static VectorOffset CreateCharactersVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add<int>(dataPtr, sizeInBytes); return builder.EndVector(); }
|
||||
public static void StartCharactersVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
|
||||
public static Offset<Movie> EndMovie(FlatBufferBuilder builder) {
|
||||
int o = builder.EndTable();
|
||||
return new Offset<Movie>(o);
|
||||
}
|
||||
public static void FinishMovieBuffer(FlatBufferBuilder builder, Offset<Movie> offset) { builder.Finish(offset.Value, "MOVI"); }
|
||||
public static void FinishSizePrefixedMovieBuffer(FlatBufferBuilder builder, Offset<Movie> offset) { builder.FinishSizePrefixed(offset.Value, "MOVI"); }
|
||||
public MovieT UnPack() {
|
||||
var _o = new MovieT();
|
||||
this.UnPackTo(_o);
|
||||
return _o;
|
||||
}
|
||||
public void UnPackTo(MovieT _o) {
|
||||
_o.MainCharacter = new CharacterUnion();
|
||||
_o.MainCharacter.Type = this.MainCharacterType;
|
||||
switch (this.MainCharacterType) {
|
||||
default: break;
|
||||
case Character.MuLan:
|
||||
_o.MainCharacter.Value = this.MainCharacter<Attacker>().HasValue ? this.MainCharacter<Attacker>().Value.UnPack() : null;
|
||||
break;
|
||||
case Character.Rapunzel:
|
||||
_o.MainCharacter.Value = this.MainCharacter<Rapunzel>().HasValue ? this.MainCharacter<Rapunzel>().Value.UnPack() : null;
|
||||
break;
|
||||
case Character.Belle:
|
||||
_o.MainCharacter.Value = this.MainCharacter<BookReader>().HasValue ? this.MainCharacter<BookReader>().Value.UnPack() : null;
|
||||
break;
|
||||
case Character.BookFan:
|
||||
_o.MainCharacter.Value = this.MainCharacter<BookReader>().HasValue ? this.MainCharacter<BookReader>().Value.UnPack() : null;
|
||||
break;
|
||||
case Character.Other:
|
||||
_o.MainCharacter.Value = this.MainCharacterAsString();
|
||||
break;
|
||||
case Character.Unused:
|
||||
_o.MainCharacter.Value = this.MainCharacterAsString();
|
||||
break;
|
||||
}
|
||||
_o.Characters = new List<CharacterUnion>();
|
||||
for (var _j = 0; _j < this.CharactersLength; ++_j) {
|
||||
var _o_Characters = new CharacterUnion();
|
||||
_o_Characters.Type = this.CharactersType(_j);
|
||||
switch (this.CharactersType(_j)) {
|
||||
default: break;
|
||||
case Character.MuLan:
|
||||
_o_Characters.Value = this.Characters<Attacker>(_j).HasValue ? this.Characters<Attacker>(_j).Value.UnPack() : null;
|
||||
break;
|
||||
case Character.Rapunzel:
|
||||
_o_Characters.Value = this.Characters<Rapunzel>(_j).HasValue ? this.Characters<Rapunzel>(_j).Value.UnPack() : null;
|
||||
break;
|
||||
case Character.Belle:
|
||||
_o_Characters.Value = this.Characters<BookReader>(_j).HasValue ? this.Characters<BookReader>(_j).Value.UnPack() : null;
|
||||
break;
|
||||
case Character.BookFan:
|
||||
_o_Characters.Value = this.Characters<BookReader>(_j).HasValue ? this.Characters<BookReader>(_j).Value.UnPack() : null;
|
||||
break;
|
||||
case Character.Other:
|
||||
_o_Characters.Value = this.CharactersAsString(_j);
|
||||
break;
|
||||
case Character.Unused:
|
||||
_o_Characters.Value = this.CharactersAsString(_j);
|
||||
break;
|
||||
}
|
||||
_o.Characters.Add(_o_Characters);
|
||||
}
|
||||
}
|
||||
public static Offset<Movie> Pack(FlatBufferBuilder builder, MovieT _o) {
|
||||
if (_o == null) return default(Offset<Movie>);
|
||||
var _main_character_type = _o.MainCharacter == null ? Character.NONE : _o.MainCharacter.Type;
|
||||
var _main_character = _o.MainCharacter == null ? 0 : CharacterUnion.Pack(builder, _o.MainCharacter);
|
||||
var _characters_type = default(VectorOffset);
|
||||
if (_o.Characters != null) {
|
||||
var __characters_type = new Character[_o.Characters.Count];
|
||||
for (var _j = 0; _j < __characters_type.Length; ++_j) { __characters_type[_j] = _o.Characters[_j].Type; }
|
||||
_characters_type = CreateCharactersTypeVector(builder, __characters_type);
|
||||
}
|
||||
var _characters = default(VectorOffset);
|
||||
if (_o.Characters != null) {
|
||||
var __characters = new int[_o.Characters.Count];
|
||||
for (var _j = 0; _j < __characters.Length; ++_j) { __characters[_j] = CharacterUnion.Pack(builder, _o.Characters[_j]); }
|
||||
_characters = CreateCharactersVector(builder, __characters);
|
||||
}
|
||||
return CreateMovie(
|
||||
builder,
|
||||
_main_character_type,
|
||||
_main_character,
|
||||
_characters_type,
|
||||
_characters);
|
||||
}
|
||||
}
|
||||
|
||||
public class MovieT
|
||||
{
|
||||
[Newtonsoft.Json.JsonProperty("main_character_type")]
|
||||
private Character MainCharacterType {
|
||||
get {
|
||||
return this.MainCharacter != null ? this.MainCharacter.Type : Character.NONE;
|
||||
}
|
||||
set {
|
||||
this.MainCharacter = new CharacterUnion();
|
||||
this.MainCharacter.Type = value;
|
||||
}
|
||||
}
|
||||
[Newtonsoft.Json.JsonProperty("main_character")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(CharacterUnion_JsonConverter))]
|
||||
public CharacterUnion MainCharacter { get; set; }
|
||||
[Newtonsoft.Json.JsonProperty("characters_type")]
|
||||
private Character[] CharactersType {
|
||||
get {
|
||||
if (this.Characters == null) return null;
|
||||
var _o = new Character[this.Characters.Count];
|
||||
for (var _j = 0; _j < _o.Length; ++_j) { _o[_j] = this.Characters[_j].Type; }
|
||||
return _o;
|
||||
}
|
||||
set {
|
||||
this.Characters = new List<CharacterUnion>();
|
||||
for (var _j = 0; _j < value.Length; ++_j) {
|
||||
var _o = new CharacterUnion();
|
||||
_o.Type = value[_j];
|
||||
this.Characters.Add(_o);
|
||||
}
|
||||
}
|
||||
}
|
||||
[Newtonsoft.Json.JsonProperty("characters")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(CharacterUnion_JsonConverter))]
|
||||
public List<CharacterUnion> Characters { get; set; }
|
||||
|
||||
public MovieT() {
|
||||
this.MainCharacter = null;
|
||||
this.Characters = null;
|
||||
}
|
||||
|
||||
public static MovieT DeserializeFromJson(string jsonText) {
|
||||
return Newtonsoft.Json.JsonConvert.DeserializeObject<MovieT>(jsonText);
|
||||
}
|
||||
public string SerializeToJson() {
|
||||
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
|
||||
}
|
||||
public static MovieT DeserializeFromBinary(byte[] fbBuffer) {
|
||||
return Movie.GetRootAsMovie(new ByteBuffer(fbBuffer)).UnPack();
|
||||
}
|
||||
public byte[] SerializeToBinary() {
|
||||
var fbb = new FlatBufferBuilder(0x10000);
|
||||
Movie.FinishMovieBuffer(fbb, Movie.Pack(fbb, this));
|
||||
return fbb.DataBuffer.ToSizedArray();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static public class MovieVerify
|
||||
{
|
||||
static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
|
||||
{
|
||||
return verifier.VerifyTableStart(tablePos)
|
||||
&& verifier.VerifyField(tablePos, 4 /*MainCharacterType*/, 1 /*Character*/, 1, false)
|
||||
&& verifier.VerifyUnion(tablePos, 4, 6 /*MainCharacter*/, CharacterVerify.Verify, false)
|
||||
&& verifier.VerifyVectorOfData(tablePos, 8 /*CharactersType*/, 1 /*Character*/, false)
|
||||
&& verifier.VerifyTableEnd(tablePos);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.BaseVector;
|
||||
import com.google.flatbuffers.BooleanVector;
|
||||
import com.google.flatbuffers.ByteVector;
|
||||
import com.google.flatbuffers.Constants;
|
||||
import com.google.flatbuffers.DoubleVector;
|
||||
import com.google.flatbuffers.FlatBufferBuilder;
|
||||
import com.google.flatbuffers.FloatVector;
|
||||
import com.google.flatbuffers.IntVector;
|
||||
import com.google.flatbuffers.LongVector;
|
||||
import com.google.flatbuffers.ShortVector;
|
||||
import com.google.flatbuffers.StringVector;
|
||||
import com.google.flatbuffers.Struct;
|
||||
import com.google.flatbuffers.Table;
|
||||
import com.google.flatbuffers.UnionVector;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class Movie extends Table {
|
||||
public static void ValidateVersion() { Constants.FLATBUFFERS_24_3_25(); }
|
||||
public static Movie getRootAsMovie(ByteBuffer _bb) { return getRootAsMovie(_bb, new Movie()); }
|
||||
public static Movie getRootAsMovie(ByteBuffer _bb, Movie obj) { _bb.order(ByteOrder.LITTLE_ENDIAN); return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)); }
|
||||
public static boolean MovieBufferHasIdentifier(ByteBuffer _bb) { return __has_identifier(_bb, "MOVI"); }
|
||||
public void __init(int _i, ByteBuffer _bb) { __reset(_i, _bb); }
|
||||
public Movie __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
|
||||
|
||||
public byte mainCharacterType() { int o = __offset(4); return o != 0 ? bb.get(o + bb_pos) : 0; }
|
||||
public Table mainCharacter(Table obj) { int o = __offset(6); return o != 0 ? __union(obj, o + bb_pos) : null; }
|
||||
public byte charactersType(int j) { int o = __offset(8); return o != 0 ? bb.get(__vector(o) + j * 1) : 0; }
|
||||
public int charactersTypeLength() { int o = __offset(8); return o != 0 ? __vector_len(o) : 0; }
|
||||
public ByteVector charactersTypeVector() { return charactersTypeVector(new ByteVector()); }
|
||||
public ByteVector charactersTypeVector(ByteVector obj) { int o = __offset(8); return o != 0 ? obj.__assign(__vector(o), bb) : null; }
|
||||
public ByteBuffer charactersTypeAsByteBuffer() { return __vector_as_bytebuffer(8, 1); }
|
||||
public ByteBuffer charactersTypeInByteBuffer(ByteBuffer _bb) { return __vector_in_bytebuffer(_bb, 8, 1); }
|
||||
public Table characters(Table obj, int j) { int o = __offset(10); return o != 0 ? __union(obj, __vector(o) + j * 4) : null; }
|
||||
public int charactersLength() { int o = __offset(10); return o != 0 ? __vector_len(o) : 0; }
|
||||
public UnionVector charactersVector() { return charactersVector(new UnionVector()); }
|
||||
public UnionVector charactersVector(UnionVector obj) { int o = __offset(10); return o != 0 ? obj.__assign(__vector(o), 4, bb) : null; }
|
||||
|
||||
public static int createMovie(FlatBufferBuilder builder,
|
||||
byte mainCharacterType,
|
||||
int mainCharacterOffset,
|
||||
int charactersTypeOffset,
|
||||
int charactersOffset) {
|
||||
builder.startTable(4);
|
||||
Movie.addCharacters(builder, charactersOffset);
|
||||
Movie.addCharactersType(builder, charactersTypeOffset);
|
||||
Movie.addMainCharacter(builder, mainCharacterOffset);
|
||||
Movie.addMainCharacterType(builder, mainCharacterType);
|
||||
return Movie.endMovie(builder);
|
||||
}
|
||||
|
||||
public static void startMovie(FlatBufferBuilder builder) { builder.startTable(4); }
|
||||
public static void addMainCharacterType(FlatBufferBuilder builder, byte mainCharacterType) { builder.addByte(0, mainCharacterType, 0); }
|
||||
public static void addMainCharacter(FlatBufferBuilder builder, int mainCharacterOffset) { builder.addOffset(1, mainCharacterOffset, 0); }
|
||||
public static void addCharactersType(FlatBufferBuilder builder, int charactersTypeOffset) { builder.addOffset(2, charactersTypeOffset, 0); }
|
||||
public static int createCharactersTypeVector(FlatBufferBuilder builder, byte[] data) { builder.startVector(1, data.length, 1); for (int i = data.length - 1; i >= 0; i--) builder.addByte(data[i]); return builder.endVector(); }
|
||||
public static void startCharactersTypeVector(FlatBufferBuilder builder, int numElems) { builder.startVector(1, numElems, 1); }
|
||||
public static void addCharacters(FlatBufferBuilder builder, int charactersOffset) { builder.addOffset(3, charactersOffset, 0); }
|
||||
public static int createCharactersVector(FlatBufferBuilder builder, int[] data) { builder.startVector(4, data.length, 4); for (int i = data.length - 1; i >= 0; i--) builder.addOffset(data[i]); return builder.endVector(); }
|
||||
public static void startCharactersVector(FlatBufferBuilder builder, int numElems) { builder.startVector(4, numElems, 4); }
|
||||
public static int endMovie(FlatBufferBuilder builder) {
|
||||
int o = builder.endTable();
|
||||
return o;
|
||||
}
|
||||
public static void finishMovieBuffer(FlatBufferBuilder builder, int offset) { builder.finish(offset, "MOVI"); }
|
||||
public static void finishSizePrefixedMovieBuffer(FlatBufferBuilder builder, int offset) { builder.finishSizePrefixed(offset, "MOVI"); }
|
||||
|
||||
public static final class Vector extends BaseVector {
|
||||
public Vector __assign(int _vector, int _element_size, ByteBuffer _bb) { __reset(_vector, _element_size, _bb); return this; }
|
||||
|
||||
public Movie get(int j) { return get(new Movie(), j); }
|
||||
public Movie get(Movie obj, int j) { return obj.__assign(__indirect(__element(j), bb), bb); }
|
||||
}
|
||||
public MovieT unpack() {
|
||||
MovieT _o = new MovieT();
|
||||
unpackTo(_o);
|
||||
return _o;
|
||||
}
|
||||
public void unpackTo(MovieT _o) {
|
||||
CharacterUnion _oMainCharacter = new CharacterUnion();
|
||||
byte _oMainCharacterType = mainCharacterType();
|
||||
_oMainCharacter.setType(_oMainCharacterType);
|
||||
Table _oMainCharacterValue;
|
||||
switch (_oMainCharacterType) {
|
||||
case Character.MuLan:
|
||||
_oMainCharacterValue = mainCharacter(new Attacker());
|
||||
_oMainCharacter.setValue(_oMainCharacterValue != null ? ((Attacker) _oMainCharacterValue).unpack() : null);
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
_o.setMainCharacter(_oMainCharacter);
|
||||
CharacterUnion[] _oCharacters = new CharacterUnion[charactersLength()];
|
||||
for (int _j = 0; _j < charactersLength(); ++_j) {
|
||||
CharacterUnion _oCharactersElement = new CharacterUnion();
|
||||
byte _oCharactersElementType = charactersType(_j);
|
||||
_oCharactersElement.setType(_oCharactersElementType);
|
||||
Table _oCharactersElementValue;
|
||||
switch (_oCharactersElementType) {
|
||||
case Character.MuLan:
|
||||
_oCharactersElementValue = characters(new Attacker(), _j);
|
||||
_oCharactersElement.setValue(_oCharactersElementValue != null ? ((Attacker) _oCharactersElementValue).unpack() : null);
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
_oCharacters[_j] = _oCharactersElement;
|
||||
}
|
||||
_o.setCharacters(_oCharacters);
|
||||
}
|
||||
public static int pack(FlatBufferBuilder builder, MovieT _o) {
|
||||
if (_o == null) return 0;
|
||||
byte _mainCharacterType = _o.getMainCharacter() == null ? Character.NONE : _o.getMainCharacter().getType();
|
||||
int _mainCharacter = _o.getMainCharacter() == null ? 0 : CharacterUnion.pack(builder, _o.getMainCharacter());
|
||||
int _charactersType = 0;
|
||||
if (_o.getCharacters() != null) {
|
||||
byte[] __charactersType = new byte[_o.getCharacters().length];
|
||||
int _j = 0;
|
||||
for (CharacterUnion _e : _o.getCharacters()) { __charactersType[_j] = _o.getCharacters()[_j].getType(); _j++;}
|
||||
_charactersType = createCharactersTypeVector(builder, __charactersType);
|
||||
}
|
||||
int _characters = 0;
|
||||
if (_o.getCharacters() != null) {
|
||||
int[] __characters = new int[_o.getCharacters().length];
|
||||
int _j = 0;
|
||||
for (CharacterUnion _e : _o.getCharacters()) { __characters[_j] = CharacterUnion.pack(builder, _o.getCharacters()[_j]); _j++;}
|
||||
_characters = createCharactersVector(builder, __characters);
|
||||
}
|
||||
return createMovie(
|
||||
builder,
|
||||
_mainCharacterType,
|
||||
_mainCharacter,
|
||||
_charactersType,
|
||||
_characters);
|
||||
}
|
||||
}
|
||||
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.BaseVector
|
||||
import com.google.flatbuffers.BooleanVector
|
||||
import com.google.flatbuffers.ByteVector
|
||||
import com.google.flatbuffers.Constants
|
||||
import com.google.flatbuffers.DoubleVector
|
||||
import com.google.flatbuffers.FlatBufferBuilder
|
||||
import com.google.flatbuffers.FloatVector
|
||||
import com.google.flatbuffers.LongVector
|
||||
import com.google.flatbuffers.StringVector
|
||||
import com.google.flatbuffers.Struct
|
||||
import com.google.flatbuffers.Table
|
||||
import com.google.flatbuffers.UnionVector
|
||||
import java.nio.ByteBuffer
|
||||
import java.nio.ByteOrder
|
||||
import kotlin.math.sign
|
||||
|
||||
@Suppress("unused")
|
||||
class Movie : Table() {
|
||||
|
||||
fun __init(_i: Int, _bb: ByteBuffer) {
|
||||
__reset(_i, _bb)
|
||||
}
|
||||
fun __assign(_i: Int, _bb: ByteBuffer) : Movie {
|
||||
__init(_i, _bb)
|
||||
return this
|
||||
}
|
||||
val mainCharacterType : UByte
|
||||
get() {
|
||||
val o = __offset(4)
|
||||
return if(o != 0) bb.get(o + bb_pos).toUByte() else 0u
|
||||
}
|
||||
fun mutateMainCharacterType(mainCharacterType: UByte) : Boolean {
|
||||
val o = __offset(4)
|
||||
return if (o != 0) {
|
||||
bb.put(o + bb_pos, mainCharacterType.toByte())
|
||||
true
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
fun mainCharacter(obj: Table) : Table? {
|
||||
val o = __offset(6); return if (o != 0) __union(obj, o + bb_pos) else null
|
||||
}
|
||||
fun charactersType(j: Int) : UByte {
|
||||
val o = __offset(8)
|
||||
return if (o != 0) {
|
||||
bb.get(__vector(o) + j * 1).toUByte()
|
||||
} else {
|
||||
0u
|
||||
}
|
||||
}
|
||||
val charactersTypeLength : Int
|
||||
get() {
|
||||
val o = __offset(8); return if (o != 0) __vector_len(o) else 0
|
||||
}
|
||||
val charactersTypeAsByteBuffer : ByteBuffer get() = __vector_as_bytebuffer(8, 1)
|
||||
fun charactersTypeInByteBuffer(_bb: ByteBuffer) : ByteBuffer = __vector_in_bytebuffer(_bb, 8, 1)
|
||||
fun mutateCharactersType(j: Int, charactersType: UByte) : Boolean {
|
||||
val o = __offset(8)
|
||||
return if (o != 0) {
|
||||
bb.put(__vector(o) + j * 1, charactersType.toByte())
|
||||
true
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
fun characters(obj: Table, j: Int) : Table? {
|
||||
val o = __offset(10)
|
||||
return if (o != 0) {
|
||||
__union(obj, __vector(o) + j * 4)
|
||||
} else {
|
||||
null
|
||||
}
|
||||
}
|
||||
val charactersLength : Int
|
||||
get() {
|
||||
val o = __offset(10); return if (o != 0) __vector_len(o) else 0
|
||||
}
|
||||
companion object {
|
||||
fun validateVersion() = Constants.FLATBUFFERS_24_3_25()
|
||||
fun getRootAsMovie(_bb: ByteBuffer): Movie = getRootAsMovie(_bb, Movie())
|
||||
fun getRootAsMovie(_bb: ByteBuffer, obj: Movie): Movie {
|
||||
_bb.order(ByteOrder.LITTLE_ENDIAN)
|
||||
return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb))
|
||||
}
|
||||
fun MovieBufferHasIdentifier(_bb: ByteBuffer) : Boolean = __has_identifier(_bb, "MOVI")
|
||||
fun createMovie(builder: FlatBufferBuilder, mainCharacterType: UByte, mainCharacterOffset: Int, charactersTypeOffset: Int, charactersOffset: Int) : Int {
|
||||
builder.startTable(4)
|
||||
addCharacters(builder, charactersOffset)
|
||||
addCharactersType(builder, charactersTypeOffset)
|
||||
addMainCharacter(builder, mainCharacterOffset)
|
||||
addMainCharacterType(builder, mainCharacterType)
|
||||
return endMovie(builder)
|
||||
}
|
||||
fun startMovie(builder: FlatBufferBuilder) = builder.startTable(4)
|
||||
fun addMainCharacterType(builder: FlatBufferBuilder, mainCharacterType: UByte) = builder.addByte(0, mainCharacterType.toByte(), 0)
|
||||
fun addMainCharacter(builder: FlatBufferBuilder, mainCharacter: Int) = builder.addOffset(1, mainCharacter, 0)
|
||||
fun addCharactersType(builder: FlatBufferBuilder, charactersType: Int) = builder.addOffset(2, charactersType, 0)
|
||||
@kotlin.ExperimentalUnsignedTypes
|
||||
fun createCharactersTypeVector(builder: FlatBufferBuilder, data: UByteArray) : Int {
|
||||
builder.startVector(1, data.size, 1)
|
||||
for (i in data.size - 1 downTo 0) {
|
||||
builder.addByte(data[i].toByte())
|
||||
}
|
||||
return builder.endVector()
|
||||
}
|
||||
fun startCharactersTypeVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(1, numElems, 1)
|
||||
fun addCharacters(builder: FlatBufferBuilder, characters: Int) = builder.addOffset(3, characters, 0)
|
||||
fun createCharactersVector(builder: FlatBufferBuilder, data: IntArray) : Int {
|
||||
builder.startVector(4, data.size, 4)
|
||||
for (i in data.size - 1 downTo 0) {
|
||||
builder.addOffset(data[i])
|
||||
}
|
||||
return builder.endVector()
|
||||
}
|
||||
fun startCharactersVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(4, numElems, 4)
|
||||
fun endMovie(builder: FlatBufferBuilder) : Int {
|
||||
val o = builder.endTable()
|
||||
return o
|
||||
}
|
||||
fun finishMovieBuffer(builder: FlatBufferBuilder, offset: Int) = builder.finish(offset, "MOVI")
|
||||
fun finishSizePrefixedMovieBuffer(builder: FlatBufferBuilder, offset: Int) = builder.finishSizePrefixed(offset, "MOVI")
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,220 @@
|
||||
<?php
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
use \Google\FlatBuffers\Struct;
|
||||
use \Google\FlatBuffers\Table;
|
||||
use \Google\FlatBuffers\ByteBuffer;
|
||||
use \Google\FlatBuffers\FlatBufferBuilder;
|
||||
|
||||
class Movie extends Table
|
||||
{
|
||||
/**
|
||||
* @param ByteBuffer $bb
|
||||
* @return Movie
|
||||
*/
|
||||
public static function getRootAsMovie(ByteBuffer $bb)
|
||||
{
|
||||
$obj = new Movie();
|
||||
return ($obj->init($bb->getInt($bb->getPosition()) + $bb->getPosition(), $bb));
|
||||
}
|
||||
|
||||
public static function MovieIdentifier()
|
||||
{
|
||||
return "MOVI";
|
||||
}
|
||||
|
||||
public static function MovieBufferHasIdentifier(ByteBuffer $buf)
|
||||
{
|
||||
return self::__has_identifier($buf, self::MovieIdentifier());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $_i offset
|
||||
* @param ByteBuffer $_bb
|
||||
* @return Movie
|
||||
**/
|
||||
public function init($_i, ByteBuffer $_bb)
|
||||
{
|
||||
$this->bb_pos = $_i;
|
||||
$this->bb = $_bb;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return byte
|
||||
*/
|
||||
public function getMainCharacterType()
|
||||
{
|
||||
$o = $this->__offset(4);
|
||||
return $o != 0 ? $this->bb->getByte($o + $this->bb_pos) : \Character::NONE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @returnint
|
||||
*/
|
||||
public function getMainCharacter($obj)
|
||||
{
|
||||
$o = $this->__offset(6);
|
||||
return $o != 0 ? $this->__union($obj, $o) : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int offset
|
||||
* @return byte
|
||||
*/
|
||||
public function getCharactersType($j)
|
||||
{
|
||||
$o = $this->__offset(8);
|
||||
return $o != 0 ? $this->bb->getByte($this->__vector($o) + $j * 1) : \Character::NONE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getCharactersTypeLength()
|
||||
{
|
||||
$o = $this->__offset(8);
|
||||
return $o != 0 ? $this->__vector_len($o) : 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int offset
|
||||
* @return Table
|
||||
*/
|
||||
public function getCharacters($j, $obj)
|
||||
{
|
||||
$o = $this->__offset(10);
|
||||
return $o != 0 ? $this->__union($obj, $this->__vector($o) + $j * 4 - $this->bb_pos) : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getCharactersLength()
|
||||
{
|
||||
$o = $this->__offset(10);
|
||||
return $o != 0 ? $this->__vector_len($o) : 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FlatBufferBuilder $builder
|
||||
* @return void
|
||||
*/
|
||||
public static function startMovie(FlatBufferBuilder $builder)
|
||||
{
|
||||
$builder->StartObject(4);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FlatBufferBuilder $builder
|
||||
* @return Movie
|
||||
*/
|
||||
public static function createMovie(FlatBufferBuilder $builder, $main_character_type, $main_character, $characters_type, $characters)
|
||||
{
|
||||
$builder->startObject(4);
|
||||
self::addMainCharacterType($builder, $main_character_type);
|
||||
self::addMainCharacter($builder, $main_character);
|
||||
self::addCharactersType($builder, $characters_type);
|
||||
self::addCharacters($builder, $characters);
|
||||
$o = $builder->endObject();
|
||||
return $o;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FlatBufferBuilder $builder
|
||||
* @param byte
|
||||
* @return void
|
||||
*/
|
||||
public static function addMainCharacterType(FlatBufferBuilder $builder, $mainCharacterType)
|
||||
{
|
||||
$builder->addByteX(0, $mainCharacterType, 0);
|
||||
}
|
||||
|
||||
public static function addMainCharacter(FlatBufferBuilder $builder, $offset)
|
||||
{
|
||||
$builder->addOffsetX(1, $offset, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FlatBufferBuilder $builder
|
||||
* @param VectorOffset
|
||||
* @return void
|
||||
*/
|
||||
public static function addCharactersType(FlatBufferBuilder $builder, $charactersType)
|
||||
{
|
||||
$builder->addOffsetX(2, $charactersType, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FlatBufferBuilder $builder
|
||||
* @param array offset array
|
||||
* @return int vector offset
|
||||
*/
|
||||
public static function createCharactersTypeVector(FlatBufferBuilder $builder, array $data)
|
||||
{
|
||||
$builder->startVector(1, count($data), 1);
|
||||
for ($i = count($data) - 1; $i >= 0; $i--) {
|
||||
$builder->putByte($data[$i]);
|
||||
}
|
||||
return $builder->endVector();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FlatBufferBuilder $builder
|
||||
* @param int $numElems
|
||||
* @return void
|
||||
*/
|
||||
public static function startCharactersTypeVector(FlatBufferBuilder $builder, $numElems)
|
||||
{
|
||||
$builder->startVector(1, $numElems, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FlatBufferBuilder $builder
|
||||
* @param VectorOffset
|
||||
* @return void
|
||||
*/
|
||||
public static function addCharacters(FlatBufferBuilder $builder, $characters)
|
||||
{
|
||||
$builder->addOffsetX(3, $characters, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FlatBufferBuilder $builder
|
||||
* @param array offset array
|
||||
* @return int vector offset
|
||||
*/
|
||||
public static function createCharactersVector(FlatBufferBuilder $builder, array $data)
|
||||
{
|
||||
$builder->startVector(4, count($data), 4);
|
||||
for ($i = count($data) - 1; $i >= 0; $i--) {
|
||||
$builder->putOffset($data[$i]);
|
||||
}
|
||||
return $builder->endVector();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FlatBufferBuilder $builder
|
||||
* @param int $numElems
|
||||
* @return void
|
||||
*/
|
||||
public static function startCharactersVector(FlatBufferBuilder $builder, $numElems)
|
||||
{
|
||||
$builder->startVector(4, $numElems, 4);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FlatBufferBuilder $builder
|
||||
* @return int table offset
|
||||
*/
|
||||
public static function endMovie(FlatBufferBuilder $builder)
|
||||
{
|
||||
$o = $builder->endObject();
|
||||
return $o;
|
||||
}
|
||||
|
||||
public static function finishMovieBuffer(FlatBufferBuilder $builder, $offset)
|
||||
{
|
||||
$builder->finish($offset, "MOVI");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.BaseVector;
|
||||
import com.google.flatbuffers.BooleanVector;
|
||||
import com.google.flatbuffers.ByteVector;
|
||||
import com.google.flatbuffers.Constants;
|
||||
import com.google.flatbuffers.DoubleVector;
|
||||
import com.google.flatbuffers.FlatBufferBuilder;
|
||||
import com.google.flatbuffers.FloatVector;
|
||||
import com.google.flatbuffers.IntVector;
|
||||
import com.google.flatbuffers.LongVector;
|
||||
import com.google.flatbuffers.ShortVector;
|
||||
import com.google.flatbuffers.StringVector;
|
||||
import com.google.flatbuffers.Struct;
|
||||
import com.google.flatbuffers.Table;
|
||||
import com.google.flatbuffers.UnionVector;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
public class MovieT {
|
||||
private CharacterUnion mainCharacter;
|
||||
private CharacterUnion[] characters;
|
||||
|
||||
public CharacterUnion getMainCharacter() { return mainCharacter; }
|
||||
|
||||
public void setMainCharacter(CharacterUnion mainCharacter) { this.mainCharacter = mainCharacter; }
|
||||
|
||||
public CharacterUnion[] getCharacters() { return characters; }
|
||||
|
||||
public void setCharacters(CharacterUnion[] characters) { this.characters = characters; }
|
||||
|
||||
|
||||
public MovieT() {
|
||||
this.mainCharacter = null;
|
||||
this.characters = null;
|
||||
}
|
||||
public static MovieT deserializeFromBinary(byte[] fbBuffer) {
|
||||
return Movie.getRootAsMovie(ByteBuffer.wrap(fbBuffer)).unpack();
|
||||
}
|
||||
public byte[] serializeToBinary() {
|
||||
FlatBufferBuilder fbb = new FlatBufferBuilder();
|
||||
Movie.finishMovieBuffer(fbb, Movie.pack(fbb, this));
|
||||
return fbb.sizedByteArray();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
// <auto-generated>
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
// </auto-generated>
|
||||
|
||||
using global::System;
|
||||
using global::System.Collections.Generic;
|
||||
using global::Google.FlatBuffers;
|
||||
|
||||
public struct Rapunzel : IFlatbufferObject
|
||||
{
|
||||
private Struct __p;
|
||||
public ByteBuffer ByteBuffer { get { return __p.bb; } }
|
||||
public void __init(int _i, ByteBuffer _bb) { __p = new Struct(_i, _bb); }
|
||||
public Rapunzel __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
|
||||
|
||||
public int HairLength { get { return __p.bb.GetInt(__p.bb_pos + 0); } }
|
||||
public void MutateHairLength(int hair_length) { __p.bb.PutInt(__p.bb_pos + 0, hair_length); }
|
||||
|
||||
public static Offset<Rapunzel> CreateRapunzel(FlatBufferBuilder builder, int HairLength) {
|
||||
builder.Prep(4, 4);
|
||||
builder.PutInt(HairLength);
|
||||
return new Offset<Rapunzel>(builder.Offset);
|
||||
}
|
||||
public RapunzelT UnPack() {
|
||||
var _o = new RapunzelT();
|
||||
this.UnPackTo(_o);
|
||||
return _o;
|
||||
}
|
||||
public void UnPackTo(RapunzelT _o) {
|
||||
_o.HairLength = this.HairLength;
|
||||
}
|
||||
public static Offset<Rapunzel> Pack(FlatBufferBuilder builder, RapunzelT _o) {
|
||||
if (_o == null) return default(Offset<Rapunzel>);
|
||||
return CreateRapunzel(
|
||||
builder,
|
||||
_o.HairLength);
|
||||
}
|
||||
}
|
||||
|
||||
public class RapunzelT
|
||||
{
|
||||
[Newtonsoft.Json.JsonProperty("hair_length")]
|
||||
public int HairLength { get; set; }
|
||||
|
||||
public RapunzelT() {
|
||||
this.HairLength = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.BaseVector;
|
||||
import com.google.flatbuffers.BooleanVector;
|
||||
import com.google.flatbuffers.ByteVector;
|
||||
import com.google.flatbuffers.Constants;
|
||||
import com.google.flatbuffers.DoubleVector;
|
||||
import com.google.flatbuffers.FlatBufferBuilder;
|
||||
import com.google.flatbuffers.FloatVector;
|
||||
import com.google.flatbuffers.IntVector;
|
||||
import com.google.flatbuffers.LongVector;
|
||||
import com.google.flatbuffers.ShortVector;
|
||||
import com.google.flatbuffers.StringVector;
|
||||
import com.google.flatbuffers.Struct;
|
||||
import com.google.flatbuffers.Table;
|
||||
import com.google.flatbuffers.UnionVector;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class Rapunzel extends Struct {
|
||||
public void __init(int _i, ByteBuffer _bb) { __reset(_i, _bb); }
|
||||
public Rapunzel __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
|
||||
|
||||
public int hairLength() { return bb.getInt(bb_pos + 0); }
|
||||
public void mutateHairLength(int hair_length) { bb.putInt(bb_pos + 0, hair_length); }
|
||||
|
||||
public static int createRapunzel(FlatBufferBuilder builder, int hairLength) {
|
||||
builder.prep(4, 4);
|
||||
builder.putInt(hairLength);
|
||||
return builder.offset();
|
||||
}
|
||||
|
||||
public static final class Vector extends BaseVector {
|
||||
public Vector __assign(int _vector, int _element_size, ByteBuffer _bb) { __reset(_vector, _element_size, _bb); return this; }
|
||||
|
||||
public Rapunzel get(int j) { return get(new Rapunzel(), j); }
|
||||
public Rapunzel get(Rapunzel obj, int j) { return obj.__assign(__element(j), bb); }
|
||||
}
|
||||
public RapunzelT unpack() {
|
||||
RapunzelT _o = new RapunzelT();
|
||||
unpackTo(_o);
|
||||
return _o;
|
||||
}
|
||||
public void unpackTo(RapunzelT _o) {
|
||||
int _oHairLength = hairLength();
|
||||
_o.setHairLength(_oHairLength);
|
||||
}
|
||||
public static int pack(FlatBufferBuilder builder, RapunzelT _o) {
|
||||
if (_o == null) return 0;
|
||||
return createRapunzel(
|
||||
builder,
|
||||
_o.getHairLength());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.BaseVector
|
||||
import com.google.flatbuffers.BooleanVector
|
||||
import com.google.flatbuffers.ByteVector
|
||||
import com.google.flatbuffers.Constants
|
||||
import com.google.flatbuffers.DoubleVector
|
||||
import com.google.flatbuffers.FlatBufferBuilder
|
||||
import com.google.flatbuffers.FloatVector
|
||||
import com.google.flatbuffers.LongVector
|
||||
import com.google.flatbuffers.StringVector
|
||||
import com.google.flatbuffers.Struct
|
||||
import com.google.flatbuffers.Table
|
||||
import com.google.flatbuffers.UnionVector
|
||||
import java.nio.ByteBuffer
|
||||
import java.nio.ByteOrder
|
||||
import kotlin.math.sign
|
||||
|
||||
@Suppress("unused")
|
||||
class Rapunzel : Struct() {
|
||||
|
||||
fun __init(_i: Int, _bb: ByteBuffer) {
|
||||
__reset(_i, _bb)
|
||||
}
|
||||
fun __assign(_i: Int, _bb: ByteBuffer) : Rapunzel {
|
||||
__init(_i, _bb)
|
||||
return this
|
||||
}
|
||||
val hairLength : Int get() = bb.getInt(bb_pos + 0)
|
||||
fun mutateHairLength(hairLength: Int) : ByteBuffer = bb.putInt(bb_pos + 0, hairLength)
|
||||
companion object {
|
||||
fun createRapunzel(builder: FlatBufferBuilder, hairLength: Int) : Int {
|
||||
builder.prep(4, 4)
|
||||
builder.putInt(hairLength)
|
||||
return builder.offset()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
use \Google\FlatBuffers\Struct;
|
||||
use \Google\FlatBuffers\Table;
|
||||
use \Google\FlatBuffers\ByteBuffer;
|
||||
use \Google\FlatBuffers\FlatBufferBuilder;
|
||||
|
||||
class Rapunzel extends Struct
|
||||
{
|
||||
/**
|
||||
* @param int $_i offset
|
||||
* @param ByteBuffer $_bb
|
||||
* @return Rapunzel
|
||||
**/
|
||||
public function init($_i, ByteBuffer $_bb)
|
||||
{
|
||||
$this->bb_pos = $_i;
|
||||
$this->bb = $_bb;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function GetHairLength()
|
||||
{
|
||||
return $this->bb->getInt($this->bb_pos + 0);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return int offset
|
||||
*/
|
||||
public static function createRapunzel(FlatBufferBuilder $builder, $hairLength)
|
||||
{
|
||||
$builder->prep(4, 4);
|
||||
$builder->putInt($hairLength);
|
||||
return $builder->offset();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.BaseVector;
|
||||
import com.google.flatbuffers.BooleanVector;
|
||||
import com.google.flatbuffers.ByteVector;
|
||||
import com.google.flatbuffers.Constants;
|
||||
import com.google.flatbuffers.DoubleVector;
|
||||
import com.google.flatbuffers.FlatBufferBuilder;
|
||||
import com.google.flatbuffers.FloatVector;
|
||||
import com.google.flatbuffers.IntVector;
|
||||
import com.google.flatbuffers.LongVector;
|
||||
import com.google.flatbuffers.ShortVector;
|
||||
import com.google.flatbuffers.StringVector;
|
||||
import com.google.flatbuffers.Struct;
|
||||
import com.google.flatbuffers.Table;
|
||||
import com.google.flatbuffers.UnionVector;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
public class RapunzelT {
|
||||
private int hairLength;
|
||||
|
||||
public int getHairLength() { return hairLength; }
|
||||
|
||||
public void setHairLength(int hairLength) { this.hairLength = hairLength; }
|
||||
|
||||
|
||||
public RapunzelT() {
|
||||
this.hairLength = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
// Demonstrates the ability to have vectors of unions, and also to
|
||||
// store structs and strings in unions.
|
||||
|
||||
table Attacker {
|
||||
sword_attack_damage: int;
|
||||
}
|
||||
|
||||
struct Rapunzel {
|
||||
hair_length: int;
|
||||
}
|
||||
|
||||
struct BookReader {
|
||||
books_read: int;
|
||||
}
|
||||
|
||||
union Character {
|
||||
MuLan: Attacker, // Can have name be different from type.
|
||||
Rapunzel, // Or just both the same, as before.
|
||||
Belle: BookReader,
|
||||
BookFan: BookReader,
|
||||
Other: string,
|
||||
Unused: string
|
||||
}
|
||||
|
||||
struct FallingTub {
|
||||
weight: int;
|
||||
}
|
||||
|
||||
table HandFan {
|
||||
length: int;
|
||||
}
|
||||
|
||||
union Gadget {
|
||||
FallingTub,
|
||||
HandFan,
|
||||
}
|
||||
|
||||
table Movie {
|
||||
main_character: Character;
|
||||
characters: [Character];
|
||||
}
|
||||
|
||||
root_type Movie;
|
||||
file_identifier "MOVI";
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"main_character_type": "Rapunzel",
|
||||
"main_character": {
|
||||
"hair_length": 6
|
||||
},
|
||||
"characters_type": [
|
||||
"Belle",
|
||||
"MuLan",
|
||||
"BookFan",
|
||||
"Other",
|
||||
"Unused"
|
||||
],
|
||||
"characters": [
|
||||
{
|
||||
"books_read": 7
|
||||
},
|
||||
{
|
||||
"sword_attack_damage": 5
|
||||
},
|
||||
{
|
||||
"books_read": 2
|
||||
},
|
||||
"Other",
|
||||
"Unused"
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user