Example #1
0
    private void OnMainButtonPressed(InteriorElement interiorElement, int index)
    {
        float value = slot.GetMilestoneValue(index);

        if (interiorElement.symbol == null)
        {
            FindObjectOfType <BigUpgradeFloorsForAnimationPopup>().Show(interiorElement.name, value.ToString() + "x", interiorElement.GetComponent <SpriteRenderer>().sprite);
        }
        else
        {
            FindObjectOfType <BigUpgradeFloorsForAnimationPopup>().Show(interiorElement.name, value.ToString() + "x", interiorElement.symbol);
        }

        PlayerManager.instance.DecrementCashBy(interiorElement.price);
        interiorElement.status = InteriorElementStatus.BOUGHT;
        slot.SetUnlockedObject(index);
        interiorElement.TurnOnElement();

        SetAvailablePanelProperty(interiorElement, index);
        TurnOffCanvasGroup(lockedPanel);
        TurnOnCanvasGroup(availablePanel);

        slot.UpdateLevelBy(0);  //only to get multiplier
        GameManager.instance.OnUpdateUI();
        mainButton.interactable = false;
    }
Example #2
0
    private void Start()
    {
        anim            = GetComponent <Animator>();
        interiorElement = transform.parent.GetComponent <InteriorElement>();
        actionButton.onClick.AddListener(() => { Debug.Log("ActionButtonCall"); });

        actionButton.onClick.AddListener(() =>
        {
            OnMainButtonPressed(interiorElement, index);
        });
    }
Example #3
0
    private void SetLockedPanelPropertyWhenLevelWasReached(InteriorElement interiorElement)
    {
        lockedPanel_LevelText.text    = NumberFormatter.ToString(interiorElement.price, false, true, false);
        lockedPanel_ToUnlockText.text = LocalizationManager.instance.StringForKey("to_buy_text");

        if (PlayerManager.instance.cash >= interiorElement.price)
        {
            SetMainButtonInterectable();
        }
        else
        {
            SetMainButtonNotInterectable();
        }
    }
Example #4
0
    private void SetAvailablePanelProperty(InteriorElement interiorElement, int index)
    {
        gameObject.GetComponent <Image>().sprite = availablePanelSprite;

        availablePanel_NameText.text = LocalizationManager.instance.StringForKey(interiorElement.name);
        if (interiorElement.symbol == null)
        {
            availablePanel_IconOfProfit.sprite = interiorElement.GetComponent <SpriteRenderer>().sprite;
        }
        else
        {
            availablePanel_IconOfProfit.sprite = interiorElement.symbol;
        }

        float value = slot.GetMilestoneValue(index);

        availablePanel_ValueText.text = value.ToString() + "x";
    }
Example #5
0
    public void Initialize(Slot slot, InteriorElement interiorElement, int index)
    {
        anim = GetComponent <Animator>();

        this.slot            = slot;
        this.interiorElement = interiorElement;
        this.index           = index;

        mainButton.onClick.AddListener(() =>
        {
            OnMainButtonPressed(interiorElement, index);
        });

        switch (interiorElement.status)
        {
        case InteriorElementStatus.NOT_AVAILABLE:
            TurnOffCanvasGroup(availablePanel);
            TurnOnCanvasGroup(lockedPanel);

            SetLockedPanelProperty(index);
            SetMainButtonNotInterectable();
            break;

        case InteriorElementStatus.AVAILABLE:
            TurnOffCanvasGroup(availablePanel);
            TurnOnCanvasGroup(lockedPanel);

            SetLockedPanelProperty(index);
            SetMainButtonInterectable();
            break;

        case InteriorElementStatus.BOUGHT:
            TurnOffCanvasGroup(lockedPanel);
            TurnOnCanvasGroup(availablePanel);

            SetAvailablePanelProperty(interiorElement, index);
            break;

        default:
            break;
        }
    }
 private void GeneratePrice(InteriorElement interiorElement, Slot slot, int i)
 {
     interiorElement.price = slot.ProfitForLevel(slot.GetMilestoneLevelTarget(i) * 2);
 }