IEnumerator Load_Next_Level()
    {
        audio_src.PlayOneShot(lvl_sound);
        Refresh_ui();
        success.enabled = true;

        while (time_count <= temp)
        {
            time_count   += Time.deltaTime;
            success.color = Color.gray;
            yield return(new WaitForSeconds(.1f));

            success.color = Color.white;
            yield return(new WaitForSeconds(.1f));
        }

        success.enabled = false;

        if (instance.lvl < 25)
        {
            instance.coroutine = instance.Ready(1f);
            instance.StartCoroutine(instance.coroutine);

            time_count   = .5f;
            diff        -= next_lvl_diff;
            enemy_spawns = next_round_spawn * lvl;
            next_spawn   = interval_spawn_max;
            next_load    = false;
        }
        else
        {
            instance.update_parameters(new Vector3(0.0f, 0.0f, 0.0f));
            AnalyticsEvent.LevelComplete("level" + instance.lvl.ToString(), instance.parameters);

            time_count              = 0;
            congratulations.text   += instance.points.ToString();
            congratulations.enabled = true;

            while (time_count <= temp)
            {
                time_count           += Time.deltaTime;
                congratulations.color = Color.gray;
                yield return(new WaitForSeconds(.1f));

                congratulations.color = Color.white;
                yield return(new WaitForSeconds(.1f));
            }

            congratulations.enabled = false;

            instance.coroutine = instance.Load_Intro();
            instance.StartCoroutine(instance.coroutine);
        }
    }
    void Start()
    {
        instance = this;

        audio_src = GetComponent <AudioSource>();
        audio_src.PlayOneShot(lvl_sound);

        coroutine = instance.Ready(1f);
        StartCoroutine(coroutine);

        Refresh_ui();

        parameters.Add("seconds_played", 0);
        parameters.Add("points", 0);
        parameters.Add("deaths", 0);
        parameters.Add("world_x", 0);
        parameters.Add("world_y", 0);
        parameters.Add("world_z", 0);

        AnalyticsEvent.LevelStart("level" + instance.lvl.ToString(), parameters);
    }