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 BasicAtractionData GetBasicAttractionForGUID(Guid guid) { BasicAtractionData attraction = rideData.Find(a => a.guid == guid); if (attraction == null) { attraction = foodAndBeverageData.Find(a => a.guid == guid); } if (attraction == null) { attraction = recreationAreaData.Find(a => a.guid == guid); } return(attraction); }
public override void Init(BasicAtractionData data) { inventory = GameManager.Instance.GetUserInventory(); gameAsset = GameManager.Instance.GetGameData(); _recreationAreaData = (RecreationAreaData)data; guid = data.guid; _userProductData = inventory.GetUserProductData(guid); if (_userProductData == null || _userProductData.count == 0) { _recreationAreaData.state = ItemState.LOCKED; //TODO - remove hardcodation } else { _recreationAreaData.state = ItemState.IDLE; //TODO - remove hardcodation } InitUIElements(); CheckBuyBtnState(); }
public override void Init(BasicAtractionData data) { inventory = GameManager.Instance.GetUserInventory(); gameAsset = GameManager.Instance.GetGameData(); _foodAndBeverageData = (FoodAndBeverageData)data; guid = data.guid; _userProductData = inventory.GetUserProductData(guid); if (_userProductData == null || _userProductData.count == 0) { _foodAndBeverageData.state = ItemState.LOCKED; //TODO - remove hardcodation } else { _foodAndBeverageData.state = ItemState.IDLE; //TODO - remove hardcodation } InitUIElements(); CheckBuyBtnState(); fillAnimation.Init(fillImage, _foodAndBeverageData.fillTimeSeconds, OnAnimComplete); }
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); } } }
public void Init(UnlockCondition condition) { bool isUnlocked = CheckCondition(condition); checkIcon.SetActive(isUnlocked); uncheckIcon.SetActive(!isUnlocked); switch (condition.unlockConditionType) { case UnlockConditionType.PAY_CURRENCY: { conditionText.text = "Cost " + condition.unlockConditionValue.currencyAmount.amount.ToString(); CurrencyData currencyData = GameManager.Instance.GetGameData().currencies.Find( a => a.type == condition.unlockConditionValue.currencyAmount.type); conditionIcon.sprite = currencyData.icon; } break; case UnlockConditionType.ATTRACTION_COUNT: { conditionText.text = "Min " + condition.unlockConditionValue.guidCount.ToString(); BasicAtractionData attractionData = GameManager.Instance.GetAttractionsData().GetCurrentEventAssets().GetBasicAttractionForGUID( condition.unlockConditionValue.guidData.guid); if (attractionData != null) { conditionIcon.sprite = attractionData.icon; } } break; case UnlockConditionType.FAME_LEVEL: { conditionText.text = "Min Fame Level: " + condition.unlockConditionValue.fameLevel; } break; } }
public void Init( AttractionType typeParam, TabItemState state, BasicAtractionData attractionDataParam, Transform tabParent, Transform listParent, AttractionsTab tabObj, AttractionsList listObj, List <UserProductData> userProductDataList) { type = typeParam; attractionData = attractionDataParam; attractionsTab = Instantiate <AttractionsTab>(tabObj, Vector3.zero, Quaternion.identity); attractionsTab.transform.SetParent(tabParent, false); attractionsTab.Init(type); //attractionsTab.onClick += OnTabClicked; attractionsList = Instantiate <AttractionsList>(listObj, Vector3.zero, Quaternion.identity); attractionsList.transform.SetParent(listParent, false); attractionsList.Init(type, userProductDataList); attractionsList.gameObject.SetActive(false); SetUIState(state); }
public abstract void Init(BasicAtractionData dataAsset);
public void Init() { userInventory = GameManager.Instance.GetUserInventory(); foreach (AttractionType type in Enum.GetValues(typeof(AttractionType))) { List <UserProductData> attractionsList = userInventory.GetAllAttractionsOfType(type); AttractionsDataAsset attractionsDataAsset = GameManager.Instance.GetAttractionsData(); BasicAtractionData nextRide = null; TabItemState tabState = TabItemState.IDLE; if (type == AttractionType.RIDE) { tabState = TabItemState.HIGHLIGHT; } if (attractionsList.Count == 0) { tabState = TabItemState.LOCKED; //IFATUtodo - this will probably be changed } List <UserProductData> rideUserItems = attractionsList.FindAll(a => a.type == type); if (rideUserItems != null && rideUserItems.Count > 0) // daca ai cel putin un element { Guid nextElementGuid; if (rideUserItems.Count > 0) { nextElementGuid = rideUserItems[rideUserItems.Count - 1].guid; } switch (type) { case AttractionType.RIDE: { List <RideData> assetData = attractionsDataAsset.GetCurrentEventAssets().rideData; int lastElementIndex = 0; if (rideUserItems.Count > 0) { lastElementIndex = assetData.FindIndex(a => a.guid == nextElementGuid); if (assetData.Count > lastElementIndex + 1) { nextRide = assetData[lastElementIndex + 1]; } } else { nextRide = assetData[0]; } } break; case AttractionType.FOOD_AND_BEVERAGE: { List <FoodAndBeverageData> assetData = attractionsDataAsset.GetCurrentEventAssets().foodAndBeverageData; int lastElementIndex = 0; if (rideUserItems.Count > 0) { lastElementIndex = assetData.FindIndex(a => a.guid == nextElementGuid); if (assetData.Count > lastElementIndex + 1) { nextRide = assetData[lastElementIndex + 1]; } } else { nextRide = assetData[0]; } } break; case AttractionType.RECREATION_AREA: { List <RecreationAreaData> assetData = attractionsDataAsset.GetCurrentEventAssets().recreationAreaData; int lastElementIndex = 0; if (rideUserItems.Count > 0) { lastElementIndex = assetData.FindIndex(a => a.guid == nextElementGuid); if (assetData.Count > lastElementIndex + 1) { nextRide = assetData[lastElementIndex + 1]; } } else { nextRide = assetData[0]; } } break; default: break; } if (nextRide != null) { userInventory.OnItemBought(nextRide.guid, type, 0); attractionsList.Add(new UserProductData { count = 0, guid = nextRide.guid, guidString = nextRide.guid.ToString(), level = 0, type = type }); } } if (tabState == TabItemState.LOCKED && nextRide != null) { bool checkNextRideUnlockConditions = UnlockManager.Instance.CheckUnlockConditions(nextRide.unlockConditionList); if (checkNextRideUnlockConditions) { tabState = TabItemState.UNLOCKED; } } AttractionItem newItem = new AttractionItem(); newItem.Init(type, tabState, attractionData, tabParent, listParent, attractionsTabObj, attractionsListObj, attractionsList); // newItem.onClick += OnTabCliked; attractionItemList.Add(newItem); } }