public void AddUpgrade(BaseUpgrade loot) { if(!upgrades.Contains(loot)) { upgrades.Add (loot); } }
public void InitItems(List <UpgradeCategory> upgradesCategories) { for (int i = 0; i < upgradesCategories.Count; i++) { GameObject container = Instantiate(categroryContainerPrefab, _transform, false) as GameObject; Transform containerTransform = container.GetComponent <Transform>(); RectTransform containerRectTrans = container.GetComponent <RectTransform>(); containerRectTrans.anchorMin = Vector2.zero; containerRectTrans.anchorMax = new Vector2(1, 1); for (int j = 0; j < upgradesCategories[i].upgrades.Count; j++) { BaseUpgrade upgradePrefab = upgradesCategories[i].upgrades[j]; GameObject itemGO = Instantiate(shopItemPrefab, containerTransform, false) as GameObject; ShopItemUI item = itemGO.GetComponent <ShopItemUI>(); Instantiate(upgradePrefab, itemGO.transform, false); item.Init(upgradePrefab, upgradeShop); items.Add(item); } container.SetActive(false); categoriesContainers.Add(upgradesCategories[i], container); } }
public void RemoveUpgrade(BaseUpgrade loot) { if(upgrades.Contains(loot)) { upgrades.Remove(loot); } }
public void BuyItem(BaseUpgrade upgrade) { if (!upgrade.canBuy) { EventDispatcher.DispatchEvent(Events.UI_ERROR, null); return; } SaveData data = FileSaveLoad.Load(); UpgradeInfo upgradeInfo = data.upgradesInfo[upgrade.saveDataIndex]; data.money -= upgrade.currentPrice; data.shipWeight += upgrade.wheight; upgradeInfo.currentUpgradeNb++; upgradeInfo.boughtUpgradeNb = Mathf.Max(upgradeInfo.currentUpgradeNb, upgradeInfo.boughtUpgradeNb); upgrade.Equip(data); // specialized save data modification. different for each Upgrade type. FileSaveLoad.Save(data); wheightUI.UpdateWheight(); moneyUI.UpdateMoney(); shopUI.UpdateAllItems(); shopDetailsPane.UpdateDetails(upgrade); EventDispatcher.DispatchEvent(Events.UI_SUCCESS, null); if (isOverWheight && !CheckIfOverwheight(data)) { overloadErrorUIAnimator.SetTrigger("Close"); } }
public void UnEquip(BaseUpgrade upgrade) { SaveData data = FileSaveLoad.Load(); UpgradeInfo upgradeInfo = data.upgradesInfo[upgrade.saveDataIndex]; if (!upgrade.canUnEquip || upgradeInfo.currentUpgradeNb <= 0) { EventDispatcher.DispatchEvent(Events.UI_ERROR, null); return; } data.shipWeight -= upgrade.wheight; upgradeInfo.currentUpgradeNb--; upgrade.UnEquip(data); FileSaveLoad.Save(data); wheightUI.UpdateWheight(); shopUI.UpdateAllItems(); shopDetailsPane.UpdateDetails(upgrade); EventDispatcher.DispatchEvent(Events.UI_SUCCESS, null); if (isOverWheight && !CheckIfOverwheight(data)) { overloadErrorUIAnimator.SetTrigger("Close"); } }
void Awake() { b = GetComponentInChildren <BaseUpgrade> (); if (!(b)) { b = GetComponent <BaseUpgrade> (); } }
public void Init(BaseUpgrade data, UpgradesShop upgradeShop) { shop = upgradeShop; button = GetComponent <Button>(); button.onClick.AddListener(OnClicked); associatedUpgrade = GetComponentInChildren <BaseUpgrade>(); UpdateItem(); }
void MaxClickHandler(UpgradeMenuUI menuUI) { BaseUpgrade upgrade = GetUpgradeByUI(menuUI); int count = upgrade.GetPossibleUpgradeCount(coins.GetCoins(), out double cost); IncreaseUpgradeLevel(upgrade, menuUI, count); upgrade.ApplyUpgrade(count); config.SpentCoins(cost); }
void SingleClickHandler(UpgradeMenuUI menuUI) { BaseUpgrade upgrade = GetUpgradeByUI(menuUI); double current_cost = upgrade.GetPrice(); IncreaseUpgradeLevel(upgrade, menuUI, 1); upgrade.ApplyUpgrade(); config.SpentCoins(current_cost); }
void IncreaseUpgradeLevel(BaseUpgrade upgrade, UpgradeMenuUI menuUI, int value) { bool maxReached = upgrade.IncreaseLevel(value); if (maxReached) { ChangeUpgradeButtonsState(menuUI, false); upgrades.Remove(upgrade); } menuUI.UpdateLevelText(upgrade.GetLevel(), upgrade.GetMaxLevel()); menuUI.UpdateProgressBar(upgrade.GetLevel(), upgrade.GetMaxLevel()); }
public void UpdateDetails(BaseUpgrade upgrade) { if (upgrade.isUnlocked) { header.text = LocalizationManager.GetLocalizedText(upgrade.title); description.text = LocalizationManager.GetLocalizedText(upgrade.description); activeNb.text = LocalizationManager.GetLocalizedText("SHIPS_UPGRADES_ACTIVE") + upgrade.currentEquipedNb + "/" + upgrade.numberOfUpgrade; price.text = LocalizationManager.GetLocalizedText("SHIPS_UPGRADES_PRICE") + (int)upgrade.currentPrice + "$"; wheight.text = LocalizationManager.GetLocalizedText("SHIPS_UPGRADES_WHEIGHT") + upgrade.wheight; totalWeight.text = LocalizationManager.GetLocalizedText("SHIPS_UPGRADES_TOTAL_WHEIGHT") + (int)(upgrade.wheight * upgrade.currentEquipedNb); } else { header.text = "?????"; description.text = LocalizationManager.GetLocalizedText("SHIPS_UPGRADES_LOCKED_DESCRIPTION"); activeNb.text = LocalizationManager.GetLocalizedText("SHIPS_UPGRADES_ACTIVE") + LocalizationManager.GetLocalizedText("SHIPS_UPGRADES_ACTIVE_NONE"); price.text = LocalizationManager.GetLocalizedText("SHIPS_UPGRADES_PRICE") + "??"; wheight.text = LocalizationManager.GetLocalizedText("SHIPS_UPGRADES_WHEIGHT") + "???"; totalWeight.text = LocalizationManager.GetLocalizedText("SHIPS_UPGRADES_TOTAL_WHEIGHT") + "0"; } }
void Start() { upgrades = new BaseUpgrade[upgradeTemplates.Length]; for (int i = 0; i < upgradeTemplates.Length; i++) { GameObject upgradeInstance = GameObject.Instantiate(upgradeTemplates [i].gameObject, transform); BaseUpgrade upgradeComponent = upgradeInstance.GetComponent <BaseUpgrade> (); if (upgradeComponent != null) { upgrades [i] = upgradeComponent; } else { Debug.LogWarningFormat("UpgradeManager - Invalid upgrade template: {0}. Does not have BaseUpgrade script attached", upgradeInstance.name); } } // Build the UI for (int i = 0; i < upgrades.Length; i++) { BaseUpgrade upgrade = upgrades [i]; if (upgrade == null) { continue; // Skip this upgrade, as it can't be put in the list } GameObject entry = upgrade.GetListEntryObject(); if (entry == null) { continue; // Skip } entry.transform.SetParent(UpgradeListContent.transform); Button upgradeEntryButtonComponent = entry.GetComponent <Button> (); if (upgradeEntryButtonComponent != null) { int upgradeToPurchase = i; // Note, need to capture 'i' properly for the lambda below Button entityButton = upgradeEntryButtonComponent; upgradeEntryButtonComponent.onClick.AddListener(() => PurchaseUpgrade(upgradeToPurchase, entityButton)); } } }
public void SetEffect(BaseUpgrade effect) { lootEffect = effect; this.ChangeGlow (); }
bool QuerySingleUpgradePossibility(BaseUpgrade upgrade, double value) { return(upgrade.GetPrice() <= value); }
/// <summary> /// Setze Upgrade auf bestimmtes Level. /// </summary> /// <param name="u">Upgrade</param> /// <param name="i">Level</param> public void setUpgradeLevel(BaseUpgrade u, int i) { u.setLevel(i); }
//called from ShopItemUI.OnSelected event public void OnUpgradeSelected(BaseUpgrade associatedUpgrade) { selectedUpgrade = associatedUpgrade; shopDetailsPane.UpdateDetails(associatedUpgrade); }