| // Example IDL file for our monster's schema. |
| |
| namespace jmonster; |
| |
| enum JColor:byte { Red = 0, Green, Blue = 2 } |
| |
| union JEquipment { JWeapon } // Optionally add more tables. |
| |
| struct JVec3 { |
| x:float; |
| y:float; |
| z:float; |
| } |
| |
| table JMonster { |
| pos:JVec3; |
| mana:short = 150; |
| hp:short = 100; |
| name:string; |
| friendly:bool = false (deprecated); |
| inventory:[ubyte]; |
| color:JColor = Blue; |
| weapons:[JWeapon]; |
| equipped:JEquipment; |
| path:[JVec3]; |
| } |
| |
| table JWeapon { |
| name:string; |
| damage:short; |
| } |
| |
| table JAllMonsters { |
| monsters: [JMonster]; |
| } |
| |
| root_type JAllMonsters; |