public void Setup(string npcName, List <TradeObjectRef> buyList, List <TradeObjectRef> sellList) { // setup window title string title; if (npcName != null) { title = string.Format(TextResources.WINDOWTITLE_NPCTRADE_WITH_NAME, npcName); } else { title = TextResources.WINDOWTITLE_NPCTRADE_NO_NAME; } _title.text = title; _currentTradeItem = null; // setup objects _buyTradeItems = new List <NPCTradeItem>(); foreach (var tradeObject in buyList) { var tradeItem = CreateTradeItem(tradeObject); tradeItem.gameObject.SetActive(true); _buyTradeItems.Add(tradeItem); } _sellTradeItems = new List <NPCTradeItem>(); foreach (var tradeObject in sellList) { var tradeItem = CreateTradeItem(tradeObject); tradeItem.gameObject.SetActive(false); _sellTradeItems.Add(tradeItem); } _forceDontUpdateTradeItems = true; OnPlayerMoneyChange(0, OpenTibiaUnity.ContainerStorage.PlayerMoney); OnPlayerGoodsChange(OpenTibiaUnity.ContainerStorage.PlayerGoods); _forceDontUpdateTradeItems = false; InternalUpdateOffers(); ShowBuyOffers(); }
private void ShowSellOffers() { if (_changingCurrentOffers || _buyTradeItems == null || _sellTradeItems == null) { return; } _changingCurrentOffers = true; _sellToggle.isOn = true; foreach (var tradeItem in _buyTradeItems) { if (tradeItem.gameObject.activeSelf) { tradeItem.gameObject.SetActive(false); } } foreach (var tradeItem in _sellTradeItems) { if (!tradeItem.gameObject.activeSelf) { tradeItem.gameObject.SetActive(true); } } if (_sellTradeItems.Count > 0) { _sellTradeItems[0].toggle.isOn = true; } else { _currentTradeItem = null; } _changingCurrentOffers = false; }
private void OnTradeItemValueChanged(NPCTradeItem tradeItem, bool value) { if (!value) { return; } _currentTradeItem = tradeItem; var tradeObject = _currentTradeItem.tradeObject; if (tradeObject.Amount == 0) { _amountSlider.minValue = 0; _amountSlider.maxValue = 0; } else { _amountSlider.minValue = 1; _amountSlider.maxValue = tradeObject.Amount; } _amountSlider.handleRect.gameObject.SetActive(_amountSlider.maxValue != 0); UpdateTradeAmount((int)_amountSlider.value); }