1// Example IDL file for our monster's schema.
2
3namespace MyGame.Sample;
4
5enum Color:byte { Red = 0, Green, Blue = 2 }
6
7union Equipment { Weapon } // Optionally add more tables.
8
9struct Vec3 {
10  x:float;
11  y:float;
12  z:float;
13}
14
15table Monster {
16  pos:Vec3; // Struct.
17  mana:short = 150;
18  hp:short = 100;
19  name:string;
20  friendly:bool = false (deprecated);
21  inventory:[ubyte];  // Vector of scalars.
22  color:Color = Blue; // Enum.
23  weapons:[Weapon];   // Vector of tables.
24  equipped:Equipment; // Union.
25  path:[Vec3];        // Vector of structs.
26}
27
28table Weapon {
29  name:string;
30  damage:short;
31}
32
33root_type Monster;
34