public void Initialize(float lvlSpeed)
    {
        tilePool        = FindObjectOfType <RoadTilePool>();
        obstacleFactory = FindObjectOfType <ObstacleFactory>();
        moveForward     = FindObjectOfType <MoveForward>();

        speed = lvlSpeed;
    }
    private void Initialize()
    {
        moveForward = FindObjectOfType <MoveForward>();
        if (moveForward != null)
        {
            moveForward.Initialize(mainConfig.Speed);
        }

        tilePool = GetComponent <RoadTilePool>();
        if (tilePool != null)
        {
            tilePool.Initialize(mainConfig.Speed);
        }

        roadGenerator = GetComponent <RoadGenerator>();
        if (roadGenerator != null)
        {
            roadGenerator.Initialize(mainConfig.Speed);
        }

        playerMover = FindObjectOfType <PlayerMover>();
        if (playerMover != null)
        {
            playerMover.Initialize(mainConfig.Speed);
        }

        treasure = FindObjectOfType <Treasure>();
        if (treasure != null)
        {
            treasure.Initialize();
        }

        towerController = FindObjectOfType <PlayerTowerController>();
        if (towerController != null)
        {
            towerController.Initialize();
        }
    }