Beispiel #1
0
    public void OnClick()
    {
        if (OnItemClick != null)
        {
            OnItemClick();
        }

        if (!usingItem && itemPrefab != null && itemCount > 0)
        {
            item = (GameObject.Instantiate(itemPrefab) as GameObject).GetComponent <BasicItem>();
            if (itemPosition)
            {
                item.effectPosition = itemPosition;
            }
            twinItem.item = item;

            usingItem = true;
            itemCancelIcon.enabled          = true;
            twinItem.itemCancelIcon.enabled = true;

            transform.parent.animation.Play("Gui_Powerup_Use");
            itemBg.spriteName = spriteSelected;
            twinItem.transform.parent.animation.Play("Gui_Powerup_Use");
            twinItem.itemBg.spriteName = spriteSelected;

            item.OnFinishUsingItem   += FinishUsingItem;
            item.OnActuallyUsingItem += ActuallyUsingItem;
            item.StartUsingItem(boardLogic);

            SoundManager.Instance.Play("item_select_sfx");
        }
        else if (!usingItem && itemCount <= 0)
        {
            if (!temporaryItem)
            {
                BuyItemHolder.SetSelectedItem(this);
                buyFSM.SendEvent("Buy");
            }

            SoundManager.Instance.Play("item_select_sfx");
        }
        else if (usingItem && item != null)
        {
            item.OnFinishUsingItem   -= FinishUsingItem;
            item.OnActuallyUsingItem -= ActuallyUsingItem;
            item.CancelUsingItem();

            canceling = true;
            FinishUsingItem(item);

            SoundManager.Instance.Play("item_unselect_sfx");
        }
    }