// 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); } root_type Monster;