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(); } }