public void UpgradeTurret() { if (!attachedTurret.turretUpgrade) { return; } StationTurret turretUpgradePrefab = attachedTurret.turretUpgrade.GetComponent <StationTurret>(); if (PlayerResourceManager.Instance.resourceCrystals < turretUpgradePrefab.turretCost) { return; } PlayerResourceManager.Instance.resourceCrystals -= turretUpgradePrefab.turretCost; GameObject turretToUpgradeTo = attachedTurret.turretUpgrade; Destroy(attachedTurret.gameObject); GameObject turret = Instantiate(turretToUpgradeTo); StationTurret turretScript = turret.GetComponent <StationTurret>(); turretScript.OnNoEnemyTarget += connectedStation.AssignNewTarget; turret.transform.position = transform.position + turretScript.offset; turret.transform.rotation = transform.rotation; turret.transform.parent = transform; attachedTurret = turretScript; UpdateButtons(); }
public void AddTurret() { StationTurret turretPrefabScript = turretPrefab.GetComponent <StationTurret>(); if (PlayerResourceManager.Instance.resourceCrystals < turretPrefabScript.turretCost) { return; } PlayerResourceManager.Instance.resourceCrystals -= turretPrefabScript.turretCost; GameObject turret = Instantiate(turretPrefab); StationTurret turretScript = turret.GetComponent <StationTurret>(); turret.transform.position = transform.position + turretScript.offset; turret.transform.rotation = transform.rotation; turret.transform.parent = transform; turretScript.OnNoEnemyTarget += connectedStation.AssignNewTarget; attachedTurret = turretScript; UpdateButtons(); }
public void AssignNewTarget(StationTurret turretToAssignTo) { turretToAssignTo.currentTarget = GetClosestTarget(); }