Robert Paciorek c7b3a74390 use ItemService for store and itemId in store.xml
- replace full items def in store.xml by item id
- load items def from items.xml (via ItemService) in StoreService constructor
2023-09-18 14:01:24 +02:00

31 lines
957 B
C#

using sodoff.Schema;
using sodoff.Util;
namespace sodoff.Services;
public class StoreService {
Dictionary<int, ItemsInStoreData> stores = new();
public StoreService(ItemService itemService) {
StoreData[] storeArray = XmlUtil.DeserializeXml<StoreData[]>(XmlUtil.ReadResourceXmlString("store"));
foreach (var s in storeArray) {
var newStore = new ItemsInStoreData {
ID = s.Id,
StoreName = s.StoreName,
Description = s.Description,
Items = new ItemData[s.ItemId.Length],
SalesAtStore = s.SalesAtStore,
PopularItems = s.PopularItems
};
for (int i=0; i<s.ItemId.Length; ++i) {
newStore.Items[i] = itemService.GetItem(s.ItemId[i]);
}
stores.Add(s.Id, newStore);
}
}
public ItemsInStoreData GetStore(int id) {
return stores[id];
}
}