public void AddGood(Good good) { if (good == null) { return; } foreach (var goodItem in _goods) { if (goodItem.Value == null || goodItem.Value.TheGood == null) { continue; } if (Utils.EqualNoCase(good.FileName, goodItem.Value.TheGood.FileName)) { //Already exist. if (_numberValid) { goodItem.Value.Count++; UpdateItems(); } return; } } _goodTypeCount++; _goods[_goodTypeCount] = new GoodsListManager.GoodsItemInfo(good, 1); UpdateItems(); }
public void BeginBuy(string listFileName, Character target, bool canSellSelfGoods) { _fileName = listFileName; _target = target; CanSellSelfGoods = canSellSelfGoods; BuyPercent = 100; RecyclePercent = 100; try { _goods.Clear(); IniData data; if (_target != null && !string.IsNullOrEmpty(_target.BuyIniString)) { var str = Utils.Base64Decode(_target.BuyIniString); var parser = new IniDataParser(); data = parser.Parse(str); } else { var path = @"save\game\" + listFileName; if (!File.Exists(path)) { path = @"ini\buy\" + listFileName; } var parser = new FileIniDataParser(); data = parser.ReadFile(path, Globals.LocalEncoding); } _goodTypeCountAtStart = _goodTypeCount = int.Parse(data["Header"]["Count"]); _numberValid = (_target != null && !string.IsNullOrEmpty(_target.BuyIniString)) || (!string.IsNullOrEmpty(data["Header"]["NumberValid"]) && int.Parse(data["Header"]["NumberValid"]) != 0); if (!string.IsNullOrEmpty(data["Header"]["BuyPercent"])) { BuyPercent = int.Parse(data["Header"]["BuyPercent"]); } if (!string.IsNullOrEmpty(data["Header"]["RecyclePercent"])) { RecyclePercent = int.Parse(data["Header"]["RecyclePercent"]); } for (var i = 1; i <= _goodTypeCountAtStart; i++) { var count = 0; if (_numberValid) { var number = data[i.ToString()]["Number"]; count = string.IsNullOrEmpty(number) ? 0 : int.Parse(number); } _goods[i] = new GoodsListManager.GoodsItemInfo(data[i.ToString()]["IniFile"], count); } _listView.ScrollToRow(0); UpdateItems(); IsShow = true; } catch (Exception exception) { Log.LogFileLoadError("BuySell", listFileName, exception); } }
public void BeginBuy(string listFileName, bool canSellSelfGoods) { _fileName = listFileName; var path = @"save\game\" + listFileName; if (!File.Exists(path)) { path = @"ini\buy\" + listFileName; } CanSellSelfGoods = canSellSelfGoods; try { _goods.Clear(); var parser = new FileIniDataParser(); var data = parser.ReadFile(path, Globals.LocalEncoding); _goodTypeCountAtStart = _goodTypeCount = int.Parse(data["Header"]["Count"]); _numberValid = !string.IsNullOrEmpty(data["Header"]["NumberValid"]) && int.Parse(data["Header"]["NumberValid"]) != 0; for (var i = 1; i <= _goodTypeCountAtStart; i++) { var count = 0; if (_numberValid) { var number = data[i.ToString()]["Number"]; count = string.IsNullOrEmpty(number) ? 0 : int.Parse(number); } _goods[i] = new GoodsListManager.GoodsItemInfo(data[i.ToString()]["IniFile"], count); } _listView.ScrollToRow(0); UpdateItems(); IsShow = true; } catch (Exception exception) { Log.LogFileLoadError("BuySell", path, exception); } }