Esempio n. 1
0
    public void InitUIElements()
    {
        currencyCostIcon.gameObject.SetActive(false);
        if (_foodAndBeverageData.state == ItemState.LOCKED || _foodAndBeverageData.state == ItemState.TO_BE_UNLOCKED)
        {
            lockedBox.SetActive(true);
            idleBox.SetActive(false);
            lockedFillImage.sprite = _foodAndBeverageData.icon;
            lockedNameText.gameObject.GetComponent <LocalizationComponent>().SetTheLocalizedText(_foodAndBeverageData.name);
            tapToUnlockText.gameObject.SetActive(_foodAndBeverageData.state == ItemState.TO_BE_UNLOCKED);
            locketAnim.gameObject.SetActive(_foodAndBeverageData.state == ItemState.LOCKED);
            //lockedInfoText.gameObject.SetActive(_rideData.state == ItemState.LOCKED);
            if (_foodAndBeverageData.state == ItemState.LOCKED)
            {
                lockedInfoText.gameObject.GetComponent <LocalizationComponent>().SetTheLocalizedText();
            }
            else
            {
                AttractionsDataAsset    attractionsDataAsset = GameManager.Instance.GetAttractionsData();
                AttractionDataAssetItem assetDataItem        = attractionsDataAsset.attractionsDataAsset.Find
                                                                   (a => a.gameEventType == attractionsDataAsset.currentEvent);
                BasicAtractionData attrationData     = assetDataItem.GetBasicAttractionForGUID(guid);
                string             costText          = LocalizationManager.Instance.GetTextForKey("UNLOCK_COST");
                UnlockCondition    currencyCondition = attrationData.unlockConditionList.Find(a => a.unlockConditionType == UnlockConditionType.PAY_CURRENCY);
                if (currencyCondition != null)
                {
                    lockedInfoText.text = costText + currencyCondition.unlockConditionValue.currencyAmount.amount.ToString();
                    CurrencyData currencyData = GameManager.Instance.GetGameData().currencies.Find(
                        a => a.type == currencyCondition.unlockConditionValue.currencyAmount.type);
                    currencyCostIcon.gameObject.SetActive(true);
                    currencyCostIcon.sprite = currencyData.icon;
                }
            }
        }

        if (_foodAndBeverageData.state == ItemState.IDLE)
        {
            lockedBox.SetActive(false);
            idleBox.SetActive(true);

            icon.sprite = _foodAndBeverageData.icon;
            nameText.gameObject.GetComponent <LocalizationComponent>().SetTheLocalizedText(_foodAndBeverageData.name);
            descriptionText.gameObject.GetComponent <LocalizationComponent>().SetTheLocalizedText(_foodAndBeverageData.description);
            amountText.text = _userProductData.count.ToString();

            buyBtnText.text = LocalizationManager.Instance.GetTextForKey(buyBtnText.GetComponent <LocalizationComponent>().localizationKey)
                              + " " + _foodAndBeverageData.initialCost.amount.ToString();
            buyBtnCurrencyIcon.sprite = gameAsset.currencies.Find(x => x.type == _foodAndBeverageData.initialCost.type).icon;
            profitDescriptionBox.Init(_foodAndBeverageData.initialProfits);
        }
        //check state
    }
    public override void Init(BasePopupData data)
    {
        base.Init(data);
        _unlockConditionsList.Clear();
        AttractionsDataAsset    attractionsDataAsset = GameManager.Instance.GetAttractionsData();
        AttractionDataAssetItem assetDataItem        = attractionsDataAsset.attractionsDataAsset.Find
                                                           (a => a.gameEventType == attractionsDataAsset.currentEvent);
        BasicAtractionData attrationData = assetDataItem.GetBasicAttractionForGUID(((AttractionUnlockPopupData)data).guid);

        titleText.GetComponent <LocalizationComponent>().SetTheLocalizedText(attrationData.name);
        icon.sprite = attrationData.icon;
        foreach (UnlockCondition condition in attrationData.unlockConditionList)
        {
            if (condition.unlockConditionType != UnlockConditionType.FREE)
            {
                UnlockConditionComponent newCondition = Instantiate <UnlockConditionComponent>(
                    unlockConditionComponentPrefab, transform.position, Quaternion.identity);
                newCondition.transform.SetParent(unlockConditionsListParent, false);
                newCondition.Init(condition);
                _unlockConditionsList.Add(newCondition);
            }
        }
    }