Exemple #1
0
    public TurretPosition GetLeftmostPositionWithTurret(int maxQuantity, int quantity = 0)
    {
        if (quantity >= maxQuantity)
        {
            return(this);
        }

        if (leftPosition.turrets.Count > 0)
        {
            return(leftPosition.GetLeftmostPositionWithTurret(maxQuantity, quantity + 1));
        }
        else
        {
            return(this);
        }
    }
Exemple #2
0
    public void PlaceTurret(TurretPosition pos)
    {
        Turret newTurret = Instantiate(turretPrefab, pos.positionObject.transform);

        newTurret.transform.localRotation = Quaternion.identity;
        newTurret.transform.localPosition = new Vector3(0, turretHeightOffset * pos.turrets.Count, 0);
        newTurret.gameObject.name         = "New Turret";
        newTurret.SetTurretType(Turret.TurretType.Basic);
        newTurret.myPosition            = pos;
        newTurret.transform.localScale *= 2.0f;

        pos.turrets.Add(newTurret);
        ghostTurretInstance.gameObject.SetActive(false);

        List <TurretPosition> positions = pos.GetLeftmostPositionWithTurret(spokes - 1).GetTurrets(spokes - 1);

        foreach (TurretPosition position in positions)
        {
            position.SetTurretType(positions.Count);
        }

        TurretSoundManager.Instance.PlaySound("TurretBuild", true);
    }