private void spawnPlatform(EndlessRunnerPlatform platform)
    {
        Vector3 pos = EndlessRunnerPlayer.Instance.transform.position;

        pos.y  = 0;
        pos.z += this.DistanceAhead;

        GameObject            instantiation = Instantiate(platform.gameObject, pos, Quaternion.identity);
        EndlessRunnerPlatform newPlatform   = instantiation.GetComponent <EndlessRunnerPlatform>();

        this._spawnedPlatforms.Add(newPlatform);
    }
    private IEnumerator spawnPlatformCoroutine()
    {
        while (true)
        {
            EndlessRunnerPlatform selectedPlatform = this.randomPlatform();

            yield return(new WaitForSeconds(this.NormalTimer +
                                            this.CurrentPlatformWidth / EndlessRunnerPlayer.Instance.ForwardSpeed));

            this.CurrentPlatformWidth = selectedPlatform.RealWidth;

            this.spawnPlatform(selectedPlatform);
        }
    }
 public void ExpirePlatform(EndlessRunnerPlatform platform)
 {
     this._spawnedPlatforms.Remove(platform);
 }