/// <summary>
    /// init method for wave.
    /// </summary>
    private void Start()
    {
        #region consts for readability

        const string _companionTracker = "CompanionTracker";
        const string _destination      = "DestinationArea";
        const string _nextWaveTimer    = "NextWaveTimer";
        const string _waveCounter      = "WaveCounter";

        #endregion consts for readability

        #region Variable Initialization

        _currentWave         = startingWave - 1;
        _destinationCollider = GameObject.FindGameObjectWithTag(_destination);
        _isWaveActive        = false;
        _waveStartTimer      = initialWaveDelay;
        GameObject companionTracker = GameObject.Find(_companionTracker);
        GameObject nextWaveTimer    = GameObject.Find(_nextWaveTimer);
        GameObject waveCounter      = GameObject.Find(_waveCounter);

        #endregion Variable Initialization

        // Get destination collider assets.
        _destinationColliderController = _destinationCollider.GetComponent <DestinationColliderController>();

        // Get UI Elements.
        _uiCompanionTracker = companionTracker.GetComponent <Text>();
        _uiNextWaveTimer    = nextWaveTimer.GetComponent <Text>();
        _uiWaveCounter      = waveCounter.GetComponent <Text>();
    }
    /// <summary>
    /// Sets Up All Variable's and task needed for spawn.
    /// </summary>
    private void Start()
    {
        #region Consts for readability

        const string _spawnSector = "SpawnSector";
        const string _destination = "DestinationArea";

        #endregion Consts for readability

        // Compile list of spawn sector colliders.
        GameObject[] spawnSectorObjects = GameObject.FindGameObjectsWithTag(_spawnSector);
        for (int i = 0; i < spawnSectorObjects.Length; i++)
        {
            _spawnSectors.Add(spawnSectorObjects[i].GetComponent <BoxCollider2D>());
        }

        // Instantiate the collider that will be used to check for free space.
        _spawnColliderClone      = Instantiate(spawnCollider);
        _spawnColliderController = _spawnColliderClone.GetComponent <SpawnColliderController>();

        // Instantiate the collider that will be used to obtain waypoints for transports.
        _destinationCollider           = GameObject.FindGameObjectWithTag(_destination);
        _destinationColliderController = _destinationCollider.GetComponent <DestinationColliderController>();
    }