}                                                            // Used by AI to turn shield on or off

    private void Start()
    {
        AOScript = gameObject.GetComponent <AudioOcclusion>();
        if (!gameObject.CompareTag("Non-playables"))
        {
            startingHP         = mech.health;
            currentHP          = startingHP;
            normalShieldLevels = mech.defense;
            shields            = mech.defense;
            shieldsChargesLeft = mech.shieldCharges;

            scoreHandler = GetComponent <ScoreHandler>();

            isUsingShield = false;
            ShouldUseShield(false);
        }

        respawnManager = GameObject.Find("SpawnManager").GetComponent <SpawnParticipantIfAble>();

        if (gameObject.CompareTag("Player"))
        {
            setVcamScript  = GetComponent <SetVcamFollowAndLookAt>();
            playerCamNoise = setVcamScript._vcam.GetComponent <PlayerCamNoise>();
        }

        if (GetComponent <DoubleStatsSpecial>() != null)
        {
            doubleStats = GetComponent <DoubleStatsSpecial>();
        }
    }
    void Awake()
    {
        switch (PlayerPrefs.GetString("Player Mech"))
        {
        case "Speed":
            playerMech = playerClasses[0];
            break;

        case "Damage":
            playerMech = playerClasses[1];
            break;

        case "All-purpose":
            playerMech = playerClasses[2];
            break;

        default:
            playerMech = playerClasses[0];
            break;
        }

        spawnedEnemies = new List <GameObject>();
        if (derandomizeSpawn)
        {
            Debug.Log("Derandomizing spawn points for testing purposes");
        }
        respawnGOs = GetComponent <SpawnParticipantIfAble>();

        respawnGOs._spawnPoints = spawnPointsList;
        SpawnPlayer();

        for (int i = 0; i < numberOfAIParticipants; i++)
        {
            Transform spawnPoint = SelectSpawnPoint();

            SpawnMechAt(spawnPoint);

            // Remove the spawn point:
            spawnPointsList.Remove(spawnPoint);
        }
    }