コード例 #1
0
 // 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;
 }
コード例 #2
0
 // 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;
 }
コード例 #3
0
 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;
 }
コード例 #4
0
        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;
        }
コード例 #5
0
        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
                        }
                    }
                }
            };
        }
コード例 #6
0
        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);;
        }
コード例 #7
0
        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);
        }
コード例 #8
0
        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);
        }