示例#1
0
        /// <summary>
        /// Read the given save data and use it to reconstruct the mod state.
        /// </summary>
        /// <param name="token">The save data.</param>
        public void LoadData(JToken token)
        {
            var serializer = new JsonSerializer();

            serializer.Converters.Add(new StringEnumConverter());
            var data = token.ToObject <SaveData>(serializer);

            foreach (var entry in data.ChestEntries)
            {
                var chest     = ChestFinder.GetChestByAddress(entry.Address);
                var chestData = ChestDataManager.GetChestData(chest);

                chestData.AcceptedItemKinds = entry.AcceptedItemKinds
                                              .Where(itemKey => ItemDataManager.HasItem(itemKey));
            }
        }