public XElement Serialize(Actor actor, string elementName = "actor") { actor.ThrowIfNull("actor"); elementName.ThrowIfNull("elementName"); return new XElement( elementName, CharacterSerializer.Instance.Serialize(actor.Character), new XAttribute("id", actor.Id), new XAttribute("name", actor.Name), new XAttribute("description", actor.Description)); }
public byte[] Serialize(Actor actor) { actor.ThrowIfNull("actor"); var serializer = new CompactSerializer(); serializer[0] = actor.Id.ToByteArray(); serializer[1] = Encoding.UTF8.GetBytes(actor.Name); serializer[2] = Encoding.UTF8.GetBytes(actor.Description); serializer[3] = CharacterSerializer.Instance.Serialize(actor.Character); return serializer.Serialize(); }