swift_code_8.swift (1270B)
1 import FlatBuffers 2 import Foundation 3 4 func run() { 5 // create a `FlatBufferBuilder`, which will be used to serialize objects 6 let builder = FlatBufferBuilder(initialSize: 1024) 7 8 let weapon1Name = builder.create(string: "Sword") 9 let weapon2Name = builder.create(string: "Axe") 10 11 // start creating the weapon by calling startWeapon 12 let weapon1Start = Weapon.startWeapon(&builder) 13 Weapon.add(name: weapon1Name, &builder) 14 Weapon.add(damage: 3, &builder) 15 // end the object by passing the start point for the weapon 1 16 let sword = Weapon.endWeapon(&builder, start: weapon1Start) 17 18 let weapon2Start = Weapon.startWeapon(&builder) 19 Weapon.add(name: weapon2Name, &builder) 20 Weapon.add(damage: 5, &builder) 21 let axe = Weapon.endWeapon(&builder, start: weapon2Start) 22 23 // Create a FlatBuffer `vector` that contains offsets to the sword and axe 24 // we created above. 25 let weaponsOffset = builder.createVector(ofOffsets: [sword, axe]) 26 27 // Name of the Monster. 28 let name = builder.create(string: "Orc") 29 30 let pathOffset = fbb.createVector(ofStructs: [ 31 Vec3(x: 0, y: 0), 32 Vec3(x: 5, y: 5), 33 ]) 34 35 // startVector(len, elementSize: MemoryLayout<Offset>.size) 36 // for o in offsets.reversed() { 37 // push(element: o) 38 // } 39 // endVector(len: len) 40 }