summaryrefslogtreecommitdiff
path: root/tests/monster_test.fbs
blob: 9e6d4446fded33ded6fa0b64fef1b6ca3a2a240f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// example IDL file

namespace MyGame.Example;

enum Color:byte { Red = 0, Green, Blue = 2 }

union Any { Monster }  // TODO: add more elements

struct Test { a:short; b:byte; }

struct Vec3 (force_align: 16) {
  x:float;
  y:float;
  z:float;
  test1:double;
  test2:byte;
  test3:Test;
}

table Monster {
  pos:Vec3 (id: 0);
  hp:short = 100 (id: 2);
  mana:short = 150 (id: 1);
  name:string (id: 3);
  color:Color = Blue (id: 6);
  inventory:[ubyte] (id: 5);
  friendly:bool = false (deprecated, priority: 1, id: 4);
  /// an example documentation comment: this will end up in the generated code
  /// multiline too
  testarrayoftables:[Monster] (id: 11);
  testarrayofstring:[string] (id: 10);
  enemy:Monster (id:12);
  test:Any (id: 8);
  test4:[Test] (id: 9);
  testnestedflatbuffer:[ubyte] (id:13, nested_flatbuffer: "Monster");
}

root_type Monster;