/// <summary> /// Attempts a shop transaction, completing the transaction if the player can afford it /// </summary> /// <param name="newItemDisplay"> Item being placed into the slot (i.e. selling or trading), can be null if only buying</param> /// <returns> true if transaction is succesful, false otherwise</returns> public bool TryShopTransaction(ItemDisplay newItemDisplay = null) { if (currentItemDisplay == null) { if (newItemDisplay == null) // clicking on an empty slot with nothing in hand { return(false); } // selling PartyManager.instance.AddWAX(newItemDisplay.GetWAXValueNoMultiplier()); return(true); } else { if (newItemDisplay == null) // buying { if (PartyManager.instance.WAX - currentItemDisplay.GetWAXValueShop() >= 0) { PartyManager.instance.LoseWAX(currentItemDisplay.GetWAXValueShop()); return(true); } return(false); } else // trading { if ((PartyManager.instance.WAX + newItemDisplay.GetWAXValue()) - currentItemDisplay.GetWAXValueShop() >= 0) { PartyManager.instance.AddWAX(newItemDisplay.GetWAXValueNoMultiplier()); PartyManager.instance.LoseWAX(currentItemDisplay.GetWAXValueShop()); return(true); } return(false); } } }
/// <summary> /// Sets the text displayed in the tooltip /// </summary> public void SetTooltipText() { if (currentItemDisplay != null) { string[] basicKeys = currentItemDisplay.GetTooltipBasicKeys(); if (basicKeys[1] == ItemConstants.CONSUMABLE) { t.SetKey("title", basicKeys[0] + "_item"); t.SetKey("subtitle", basicKeys[1] + "_item_sub"); t.SetColour("subtitle", UIManager.instance.subtitleColourString); t.SetAmountTextMultiple("description", currentItemDisplay.GetTooltipEffectKeys(), currentItemDisplay.GetValuesAsStrings()); if (parentPanel.GetPanelName() == PanelConstants.EVENTDISPLAY && UIManager.instance.inShop == true) { t.SetAmountText("value", "WAX_label", currentItemDisplay.GetWAXValueShop()); } else { t.SetTextActive("value", false); // don't display the worth text if there is no item } } else if (basicKeys[1] == ItemConstants.GEAR) { t.SetKey("title", basicKeys[0] + "_item"); if (currentItemDisplay.className == ClassConstants.ANY) { t.SetKey("subtitle", basicKeys[2] + "_item_sub"); } else { t.SetKeyMultiple("subtitle", new string[2] { currentItemDisplay.className + "_label", basicKeys[2] + "_item_sub" }); } if (currentItemDisplay.className != ClassConstants.ANY && PartyManager.instance.IsClassInParty(currentItemDisplay.className) == false) { t.SetColour("subtitle", UIManager.instance.unusableColour); } else { t.SetColour("subtitle", UIManager.instance.subtitleColourString); } t.SetAmountTextMultiple("description", currentItemDisplay.GetTooltipEffectKeys(), currentItemDisplay.GetValuesAsStrings()); if (parentPanel.GetPanelName() == PanelConstants.EVENTDISPLAY && UIManager.instance.inShop == true) { t.SetAmountText("value", "WAX_label", currentItemDisplay.GetWAXValueShop()); } else { t.SetAmountText("value", "WAX_label", currentItemDisplay.GetWAXValue()); } } else if (basicKeys[1] == ItemConstants.CANDLE) { t.SetKey("title", basicKeys[0] + "_item"); t.SetKey("subtitle", basicKeys[1] + "_item_sub"); t.SetColour("subtitle", UIManager.instance.subtitleColourString); t.SetAmountTextMultiple("description", currentItemDisplay.GetTooltipEffectKeys(), currentItemDisplay.GetValuesAsStrings()); if (parentPanel.GetPanelName() == PanelConstants.EVENTDISPLAY && UIManager.instance.inShop == true) { t.SetAmountText("value", "WAX_label", currentItemDisplay.GetWAXValueShop()); } else { t.SetAmountText("value", "WAX_label", currentItemDisplay.GetWAXValue()); } } else if (basicKeys[1] == ItemConstants.SPECIAL) { t.SetKey("title", basicKeys[0] + "_item"); t.SetKey("subtitle", basicKeys[2] + "_item_sub"); t.SetColour("subtitle", UIManager.instance.subtitleColourString); t.SetKey("description", basicKeys[0] + "_item_des"); if (currentItemDisplay.subType == ItemConstants.SPECIAL) // very special items can't be sold, hence no value { t.SetAmountText("value", "WAX_label", currentItemDisplay.GetWAXValue()); } } } else // if there is no item held { t.SetKey("title", itemSlotSubType + "_item"); t.SetKey("subtitle", itemSlotSubType + "_item_sub_default"); t.SetKey("description", "none_label"); t.SetTextActive("value", false); // don't display the worth text if there is no item } }