Ejemplo n.º 1
0
    private void GenerateList()
    {
        TotalScrapText.text = "Scraps:  " + totalScrap.value;
        TotalMoneyText.text = "Money:  " + totalMoney.value;

        if (entryList == null)
        {
            entryList = new EntryList <UpgradeListEntry>(visibleSize);
        }
        entryList.ResetList();
        int         tempListSize = playerData.upgrader.listSize;
        UpgradeType currentType  = (upgradeMode) ? UpgradeType.UPGRADE : UpgradeType.INVENTION;

        for (int i = 0; i < tempListSize; i++)
        {
            if (playerData.upgrader.upgrades[i].upgrade.type == currentType)
            {
                Transform        t  = Instantiate(entryPrefab, listParent);
                UpgradeListEntry ue = entryList.CreateEntry(t);
                ue.FillData(i, playerData.upgrader.upgrades[i].upgrade, playerData.upgrader.upgrades[i].researched, totalScrap.value, totalMoney.value);
            }
        }
        entryPrefab.gameObject.SetActive(false);
        upgradeInfoObject.SetActive(upgradeMode);
        inventionInfoObject.SetActive(!upgradeMode);
        entryList.Sort(SortUpgrades);
        UpdateListDarkness();
    }
Ejemplo n.º 2
0
    public void SelectItem(bool isUpgrade)
    {
        UpgradeListEntry upgrade = entryList.GetEntry();

        if (!upgrade || !upgrade.affordable)
        {
            return;
        }
        else if (!promptMode)
        {
            if (upgrade.affordable)
            {
                promptMode = true;
                buyPrompt.ShowYesNoPopup((isUpgrade) ? "Buy upgrade?" : "Develop item?", true);
            }
        }
        else
        {
            if (buyPrompt.Click(true) == MyPrompt.Result.OK1)
            {
                Debug.Log((isUpgrade) ? "Upgrade" : "Invent");
                totalMoney.value -= upgrade.upgrade.cost;
                totalScrap.value -= upgrade.upgrade.scrap;
                playerData.upgrader.upgrades[upgrade.index].researched = true;
                playerData.upgrader.CalculateResearch();
                playerData.UpdateUpgrades();
                UpdateListDarkness();
            }
            GenerateList();
            DeselectItem();
            MoveSelection(0);
        }
    }
Ejemplo n.º 3
0
 private int SortUpgrades(UpgradeListEntry x, UpgradeListEntry y)
 {
     if (x.done != y.done)
     {
         return((x.done) ? 1 : -1);
     }
     else
     {
         return(y.index - x.index);
     }
 }
Ejemplo n.º 4
0
 public virtual GameObject GetListEntryObject()
 {
     if (_entryListInstance == null)
     {
         _entryListInstance = GameObject.Instantiate(EntryListTemplate);
         UpgradeListEntry listEntryComponent = _entryListInstance.GetComponent <UpgradeListEntry>();
         if (listEntryComponent != null)
         {
             listEntryComponent.DisplayNameText.text = UpgradeName;
             listEntryComponent.CostText.text        = string.Format("${0:F2}", UpgradeCost);
         }
     }
     return(_entryListInstance);
 }