public void SelectNode(ShopTradeNode node) { switch (buysellMode) { case ShopScreenMode.Buy: ShopBuyNode buyNode = (ShopBuyNode)node; if (currentPlayer.GetCurrency(buyNode.GetCurrency(), buyNode.GetCost())) { currentPlayer.Inventory.AddItemToInventory(ItemDatabase.NewItem(buyNode.GetOffer())); crystalCounter.SetCounter(currentPlayer.GetCurrencyCount(buyNode.GetCurrency())); } break; case ShopScreenMode.Sell: ShopSellNode sellNode = (ShopSellNode)node; int index = shopSellNodes.IndexOf(sellNode); InventorySlot slot = currentPlayer.Inventory.FindSlotForItem(sellNode.GetItemForSale()); if (slot != null) { Item sold = slot.GetOneItem(); if (sold != null) { for (int i = sellNode.GetValue(); i > 0; i--) { currentPlayer.Inventory.AddItemToInventory(ItemDatabase.NewItem(sellNode.GetCurrency())); } crystalCounter.SetCounter(currentPlayer.GetCurrencyCount(sellNode.GetCurrency())); currentNPC.npcWares.Add(sold); LoadInventories(); if (index == 0) { GamepadInputManager.instance.gamepadInputs[currentPlayer.mPlayerIndex].GetEventSystem().SetSelectedGameObject(sellButton); } else if (index == shopSellNodes.Count) { GamepadInputManager.instance.gamepadInputs[currentPlayer.mPlayerIndex].GetEventSystem().SetSelectedGameObject(shopSellNodes[index - 1].button.gameObject); } else { GamepadInputManager.instance.gamepadInputs[currentPlayer.mPlayerIndex].GetEventSystem().SetSelectedGameObject(shopSellNodes[index].button.gameObject); } } } break; } }
public void SetBuyMode() { buysellMode = ShopScreenMode.Buy; sellRect.gameObject.SetActive(false); buyRect.gameObject.SetActive(true); if (shopBuyNodes.Count == 0) { GamepadInputManager.instance.gamepadInputs[currentPlayer.mPlayerIndex].GetEventSystem().SetSelectedGameObject(buyButton); } else { defaultObject = shopBuyNodes[0].gameObject; currentNode = shopBuyNodes[0]; GamepadInputManager.instance.gamepadInputs[currentPlayer.mPlayerIndex].GetEventSystem().SetSelectedGameObject(defaultObject); } }
public void SetCurrentNode(ShopTradeNode node) { currentNode = node; }