Esempio n. 1
0
    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();
    }
Esempio n. 2
0
    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();
    }
Esempio n. 3
0
 public void AssignNewTarget(StationTurret turretToAssignTo)
 {
     turretToAssignTo.currentTarget = GetClosestTarget();
 }