use uuid::Uuid; use crate::traits::Serialize; pub struct Actor { id: Uuid, in_combat: bool, name: String, system: Box } pub trait ActorSystem: Serialize {} impl Serialize for Actor { fn serialize(&self) -> Vec { #[derive(serde::Serialize)] struct ActorSerialize { pub id: String, pub in_combat: bool, pub name: String, pub system: Vec } let actor_serialize = ActorSerialize{ id: self.id.to_string(), in_combat: self.in_combat, name: self.name.to_owned(), system: self.system.serialize() }; rmp_serde::to_vec(&actor_serialize).unwrap() } }