use std::io::{Read, Write};
use crate::io::flex::FlexPos;
use crate::io::reader::CubeReader;
use crate::io::writer::CubeWriter;
use crate::util::{IoResult, VioResult};
pub const PK_SPAWN_SPAWN: u16 = 0x0201;
pub struct Spawn {
pos: FlexPos,
}
impl Spawn {
pub fn write<W: Write>(&self, writer: &mut CubeWriter<W>) -> VioResult {
writer.write_uint16(PK_SPAWN_SPAWN)?;
writer.write_flex_pos(&self.pos)?;
Result::Ok(())
}
pub fn read<R: Read>(reader: &mut CubeReader<R>) -> IoResult<Spawn> {
Result::Ok(Spawn {
pos: reader.read_flex_pos()?,
})
}
}