using System; using System.Text; using System.Data; using System.Collections.Generic; using SHN; namespace Filter.Utilities { internal class Currency { public Byte ID { get; set; } public String Name { get; set; } public Byte Type { get; set; } public String Table { get; set; } } internal class Item { public Byte CurrencyID { get; set; } public UInt16 ItemID { get; set; } public String ItemName { get; set; } public Int32 CurrencyWorth { get; set; } } internal class CurrencyLoader { public Dictionary Currencys = new Dictionary(); public List SellItems = new List(); public List BuyItems = new List(); public CurrencyLoader() { SHNFile CurrencysFile = new SHNFile(String.Format("{0}\\Currencys.shn", AppDomain.CurrentDomain.BaseDirectory)); if (CurrencysFile.Type == SHNType.TextData) { CurrencysFile.SHNEncoding = Encoding.ASCII; } else { CurrencysFile.SHNEncoding = Encoding.GetEncoding("ISO-8859-1"); } CurrencysFile.Read(); foreach (DataRow Row in CurrencysFile.Table.Rows) { Currency NewCurrency = new Currency() { ID = Convert.ToByte(Row.ItemArray[0]), Name = Convert.ToString(Row.ItemArray[1]), Type = Convert.ToByte(Row.ItemArray[2]), Table = Convert.ToString(Row.ItemArray[3]) }; Currencys.Add(NewCurrency.ID, NewCurrency); } SHNFile ItemInfoFile = new SHNFile(String.Format("{0}\\ItemInfo.shn", AppDomain.CurrentDomain.BaseDirectory)); if (ItemInfoFile.Type == SHNType.TextData) { ItemInfoFile.SHNEncoding = Encoding.ASCII; } else { ItemInfoFile.SHNEncoding = Encoding.GetEncoding("ISO-8859-1"); } ItemInfoFile.Read(); Dictionary ItemNames = new Dictionary(); foreach (DataRow Row in ItemInfoFile.Table.Rows) { try { ItemNames.Add(Convert.ToUInt16(Row.ItemArray[0]), Convert.ToString(Row.ItemArray[2])); } catch { } } SHNFile CurrencySellFile = new SHNFile(String.Format("{0}\\CurrencySell.shn", AppDomain.CurrentDomain.BaseDirectory)); if (CurrencySellFile.Type == SHNType.TextData) { CurrencySellFile.SHNEncoding = Encoding.ASCII; } else { CurrencySellFile.SHNEncoding = Encoding.GetEncoding("ISO-8859-1"); } CurrencySellFile.Read(); foreach (DataRow Row in CurrencySellFile.Table.Rows) { Item NewItem = new Item() { CurrencyID = Convert.ToByte(Row.ItemArray[0]), ItemID = Convert.ToUInt16(Row.ItemArray[1]), ItemName = ItemNames[Convert.ToUInt16(Row.ItemArray[1])], CurrencyWorth = Convert.ToInt32(Row.ItemArray[2]) }; SellItems.Add(NewItem); } SHNFile CurrencyBuyFile = new SHNFile(String.Format("{0}\\CurrencyBuy.shn", AppDomain.CurrentDomain.BaseDirectory)); if (CurrencyBuyFile.Type == SHNType.TextData) { CurrencyBuyFile.SHNEncoding = Encoding.ASCII; } else { CurrencyBuyFile.SHNEncoding = Encoding.GetEncoding("ISO-8859-1"); } CurrencyBuyFile.Read(); foreach (DataRow Row in CurrencyBuyFile.Table.Rows) { Item NewItem = new Item() { CurrencyID = Convert.ToByte(Row.ItemArray[0]), ItemID = Convert.ToUInt16(Row.ItemArray[1]), ItemName = ItemNames[Convert.ToUInt16(Row.ItemArray[1])], CurrencyWorth = Convert.ToInt32(Row.ItemArray[2]) }; BuyItems.Add(NewItem); } } } }