// TODO: Move to a serialization class. This is not a concern of the class. public AbstractData Serialize() { MemoryStream dataStream = new MemoryStream(); BinaryWriter writer = new BinaryWriter(dataStream); WriteString(writer, PrimaryColor); WriteString(writer, SecondaryColor); WriteString(writer, VisorColor); WriteString(writer, LightsColor); WriteString(writer, HologramsColor); foreach (var slot in Slots) { WriteString(writer, slot.Head); WriteString(writer, slot.Shoulders); WriteString(writer, slot.Torso); WriteString(writer, slot.Hands); WriteString(writer, slot.Legs); WriteString(writer, slot.Reserved); } writer.Write(0); AbstractData abstractData = new AbstractData { Version = 1, Layout = 1, Data = dataStream.ToArray() }; return abstractData; }
// TODO: Cleanup serialization methods and move them to their own class public static WeaponLoadout Deserialize(AbstractData abstractData) { MemoryStream dataStream = new MemoryStream(abstractData.Data); BinaryReader reader = new BinaryReader(dataStream); WeaponLoadout weaponLoadout = new WeaponLoadout(); weaponLoadout.ParseWeaponLoadoutSlots(reader); return weaponLoadout; }
public static ArmorLoadout Deserialize(AbstractData abstractData) { MemoryStream dataStream = new MemoryStream(abstractData.Data); BinaryReader reader = new BinaryReader(dataStream); ArmorLoadout armorLoadout = new ArmorLoadout(); armorLoadout.ParseColors(reader); armorLoadout.ParseLoadoutSlots(reader); return armorLoadout; }
public static Customization Deserialize(AbstractData abstractData) { MemoryStream dataStream = new MemoryStream(abstractData.Data); BinaryReader reader = new BinaryReader(dataStream); var customization = new Customization(); customization.ParseCustomization(reader); return customization; }
public GetPublicDataResult GetPublicData(GetPublicDataRequest request) { AbstractData data = new AbstractData { Version = 0, Layout = 12, Data = new byte[0] }; switch (request.ContainerName) { case PublicDataContainerTypes.WeaponLoadouts: break; case PublicDataContainerTypes.ArmorLoadouts: var armorLoadout = new ArmorLoadout { PrimaryColor = "color_pri_13", SecondaryColor = "color_sec_13", VisorColor = "color_visor_5", LightsColor = "color_lights_3", HologramsColor = "color_holo_3", Slots = Enumerable.Repeat(new ArmorLoadoutSlot { Head = "helmet_air_assault", Shoulders = "shoulder_air_assault", Torso = "chest_air_assault", Hands = "arms_air_assault", Legs = "legs_air_assault", Reserved = "" }, 5).ToList() }; data = armorLoadout.Serialize(); break; case PublicDataContainerTypes.Customizations: break; default: break; } return new GetPublicDataResult { Result = new ServiceResult<List<PerUser>> { Data = new List<PerUser> { new PerUser { User = new UserId { Id = 1 }, PerUserData = data } } } }; }
public static Preferences Deserialize(AbstractData abstractData) { MemoryStream dataStream = new MemoryStream(abstractData.Data); BinaryReader reader = new BinaryReader(dataStream); Preferences preferences = new Preferences(); dataStream.Position = 32772; preferences.ReadLastReadNews(reader); return(preferences);; }
public static Customization Deserialize(AbstractData abstractData) { MemoryStream dataStream = new MemoryStream(abstractData.Data); BinaryReader reader = new BinaryReader(dataStream); var customization = new Customization(); customization.ParseCustomization(reader); return(customization); }
public static ArmorLoadout Deserialize(AbstractData abstractData) { MemoryStream dataStream = new MemoryStream(abstractData.Data); BinaryReader reader = new BinaryReader(dataStream); ArmorLoadout armorLoadout = new ArmorLoadout(); armorLoadout.ParseColors(reader); armorLoadout.ParseLoadoutSlots(reader); return(armorLoadout); }