// Start is called before the first frame update void Start() { if (myNodeParametersScript == null || myGoodParentObject == null || myGoodUIReferencesList == null || myActiveNodeScript == null) { Debug.LogError(this.name + " on " + this.gameObject.name + " setup error!"); this.enabled = false; return; } foreach (GoodUIReferences currentGoodReferenceScript in myGoodUIReferencesList) { Defs.TradeGoods good = currentGoodReferenceScript.myGood; Defs.TradeGoodTypes goodType = currentGoodReferenceScript.myGoodType; // Set the Good script up Good goodScript = Defs.Instance.AddGoodScript(good, myGoodParentObject); if (goodScript != null) { goodScript.myGood = good; goodScript.myGoodType = goodType; goodScript.activeNodeScript = myActiveNodeScript; goodScript.myUIReferences = currentGoodReferenceScript; goodScript.enabled = true; } Button buyButton = currentGoodReferenceScript.buyButton; Button sellButton = currentGoodReferenceScript.sellButton; if (buyButton == null || sellButton == null) { Debug.LogError("Button setup error on " + gameObject.name); this.enabled = false; return; } // Setup the click logic buyButton.onClick.AddListener(() => GoodsBuyButtonClicked(goodScript)); sellButton.onClick.AddListener(() => GoodsSellButtonClicked(goodScript)); } foreach (UpgradeUIReferences currentUpgradeReferencesScript in myUpgradeReferencesList) { Defs.EngineUpgrades engineUpgrade = currentUpgradeReferencesScript.upgrade; // Set the Upgrade script up Upgrade upgradeScript = myGoodParentObject.AddComponent <Upgrade>(); if (upgradeScript != null) { upgradeScript.upgrade = engineUpgrade; upgradeScript.activeNodeScript = myActiveNodeScript; upgradeScript.buyButton = currentUpgradeReferencesScript.buyButton; upgradeScript.buyText = currentUpgradeReferencesScript.buyText; upgradeScript.upgradeNameText = currentUpgradeReferencesScript.upgradeNameText; upgradeScript.enabled = true; } Button buyButton = currentUpgradeReferencesScript.buyButton; if (buyButton == null) { Debug.LogError("Button setup error on " + gameObject.name); this.enabled = false; return; } // Setup the click logic buyButton.onClick.AddListener(() => UpgradeBuyButtonClicked(upgradeScript)); } }