add flatbuffers
This commit is contained in:
30
flatbuffers/src/main.rs
Normal file
30
flatbuffers/src/main.rs
Normal file
@@ -0,0 +1,30 @@
|
||||
#[allow(dead_code, unused_imports)]
|
||||
mod monster_generated;
|
||||
|
||||
use flatbuffers::FlatBufferBuilder;
|
||||
use monster_generated::my_game::sample::Monster;
|
||||
use monster_generated::my_game::sample::MonsterArgs;
|
||||
|
||||
// https://github.com/frol/flatc-rust/blob/master/examples/tutorial/src/main.rs
|
||||
fn main() {
|
||||
let mut fbb = FlatBufferBuilder::new();
|
||||
|
||||
let name = fbb.create_string("Sample Name!");
|
||||
|
||||
let monster = Monster::create(&mut fbb, &MonsterArgs {
|
||||
mana: 150,
|
||||
hp: 80,
|
||||
name: Some(name),
|
||||
..Default::default()
|
||||
});
|
||||
|
||||
fbb.finish(monster, None);
|
||||
|
||||
let buff = fbb.finished_data();
|
||||
|
||||
println!("FlatBuffers: {}", hex::encode(&buff));
|
||||
|
||||
let monster_2 = flatbuffers::get_root::<Monster>(&buff);
|
||||
println!("Monster hp: {}", monster_2.hp());
|
||||
println!("Monster name: {:?}", monster_2.name());
|
||||
}
|
||||
Reference in New Issue
Block a user