diff options
Diffstat (limited to 'Thronefall_v1.0/Decompile/FishingHarbour.cs')
-rw-r--r-- | Thronefall_v1.0/Decompile/FishingHarbour.cs | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/Thronefall_v1.0/Decompile/FishingHarbour.cs b/Thronefall_v1.0/Decompile/FishingHarbour.cs new file mode 100644 index 0000000..2214867 --- /dev/null +++ b/Thronefall_v1.0/Decompile/FishingHarbour.cs @@ -0,0 +1,58 @@ +using System.Collections; +using UnityEngine; + +public class FishingHarbour : IncomeModifyer +{ + public int incomeIncreasePerTurn = 1; + + public int maximumIncome = 5; + + private int maximumBoats; + + public Transform activeChildOnIncomeIncrease; + + private int activationNr; + + [Header("Perk Upgrade")] + [SerializeField] + private Equippable perk; + + [SerializeField] + private int additionalBoatCapacity; + + private void Start() + { + buildingInteractor.IncomeModifiers.Add(this); + for (int i = 0; i < activeChildOnIncomeIncrease.childCount; i++) + { + activeChildOnIncomeIncrease.GetChild(i).gameObject.SetActive(value: false); + } + if (PerkManager.instance.CurrentlyEquipped.Contains(perk)) + { + maximumIncome += additionalBoatCapacity; + } + maximumBoats = maximumIncome; + } + + public override void OnDawn() + { + if (buildSlot.Level > 0 && !buildingInteractor.KnockedOutTonight) + { + StartCoroutine(IncreaseIncomeAndBuildShip()); + } + } + + private IEnumerator IncreaseIncomeAndBuildShip() + { + yield return null; + yield return null; + if (activationNr < maximumBoats) + { + activeChildOnIncomeIncrease.GetChild(activationNr).gameObject.SetActive(value: true); + } + activationNr++; + buildSlot.GoldIncome = Mathf.Min(buildSlot.GoldIncome + incomeIncreasePerTurn, maximumIncome); + buildSlot.Upgrades[1].upgradeBranches[0].goldIncomeChange = buildSlot.GoldIncome; + buildSlot.Interactor.MarkAsHarvested(); + } +} |