Example #1
0
        /// <summary>
        /// Serializes the current list of defaults to XML.
        /// </summary>
        /// <returns>New list of serialized defaults</returns>
        internal List <DefaultPack> SerializeDefaults()
        {
            // Return list.
            List <DefaultPack> defaultList = new List <DefaultPack>();


            // Iterate through each key (ItemClass.Service) in our dictionary.
            foreach (ItemClass.Service service in defaultsDict.Keys)
            {
                // Iterate through each key (ItemClass.SubService) in our sub-dictionary and serialise it into a DefaultPack.
                foreach (ItemClass.SubService subService in defaultsDict[service].Keys)
                {
                    DefaultPack defaultPack = new DefaultPack
                    {
                        service    = service,
                        subService = subService,
                        pack       = defaultsDict[service][subService].name
                    };

                    // Add new building record to return list.e.
                    defaultList.Add(defaultPack);
                }
            }

            return(defaultList);
        }
Example #2
0
        /// <summary>
        /// Deserializes the provided XML default list.
        /// </summary>
        /// <param name="list">XML DefaultPack list to deserialize</param>
        internal void DeserializeDefaults(List <DefaultPack> list)
        {
            // Deserialise default pop pack list into dictionary.
            for (int i = 0; i < list.Count; ++i)
            {
                DefaultPack defaultPack = list[i];

                // Find target preset.
                DataPack calcPack = calcPacks?.Find(pack => (pack?.name != null && pack.name.Equals(defaultPack.pack)));
                if (calcPack?.name == null)
                {
                    Logging.Error("Couldn't find pop calculation pack ", defaultPack.pack, " for sub-service ", defaultPack.subService.ToString());
                    continue;
                }

                // Add service to our dictionary.
                ChangeDefault(defaultPack.service, defaultPack.subService, calcPack);
            }
        }