private void TowerAdd(TowerPlacement towerPlacement, SpawnTowerInfo spawnInfo)
    {
        var tower = Instantiate(spawnInfo.towerPrefab, towerPlacement.transform.position, Quaternion.identity);

        tower.transform.parent = towerParent;
        spawnInfo.towerRingBuffer.Enqueue(tower);
        tower.towerPlace = towerPlacement;
        towerPlacement.gameObject.GetComponent <WayPoint2>().isPlaceable = false;
    }
    private void TowerMove(TowerPlacement towerPlacement, SpawnTowerInfo spawnInfo)
    {
        var oldestTower = spawnInfo.towerRingBuffer.Dequeue();

        oldestTower.towerPlace.gameObject.GetComponent <WayPoint2>().isPlaceable = true;
        oldestTower.towerPlace = towerPlacement;
        towerPlacement.gameObject.GetComponent <WayPoint2>().isPlaceable = false;
        oldestTower.transform.position = towerPlacement.transform.position;
        spawnInfo.towerRingBuffer.Enqueue(oldestTower);
    }