コード例 #1
0
ファイル: ItemSlot.cs プロジェクト: shahiro770/CandleLight
        /// <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);
                }
            }
        }
コード例 #2
0
ファイル: ItemSlot.cs プロジェクト: shahiro770/CandleLight
        /// <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
            }
        }