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; }
private void Start() { anim = GetComponent <Animator>(); interiorElement = transform.parent.GetComponent <InteriorElement>(); actionButton.onClick.AddListener(() => { Debug.Log("ActionButtonCall"); }); actionButton.onClick.AddListener(() => { OnMainButtonPressed(interiorElement, index); }); }
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(); } }
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"; }
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); }