/// <summary>
    /// Restart the same song
    /// </summary>
    public void Retry()
    {
        Dictionary <string, string> par = new Dictionary <string, string> ()
        {
            { "path", path },
            { "resolution", SceneInfo.GetValueForKey("resolution") },
            { "speedMulti", SceneInfo.GetValueForKey("speedMulti") },
        };

        SceneInfo.SetParameters(par);
        SceneManager.LoadScene("Play");
    }
    // Use this for initialization
    void Start()
    {
        var tmp = positionImg.transform.position;

        tmp.x = Camera.main.ScreenToWorldPoint(Vector3.zero).x + 2;
        positionImg.transform.position = tmp;
        speedMulti = float.Parse(SceneInfo.GetValueForKey("speedMulti"));

        audioSource = GetComponent <AudioSource> ();
        path        = SceneInfo.GetValueForKey("path");
        resolution  = int.Parse(SceneInfo.GetValueForKey("resolution"));
        SetDisplay();
        LoadNotemap();

        StartCoroutine(LoadSongCoroutine());

        InitFPSDisplay();
    }
    /// <summary>
    /// Set score screen display
    /// </summary>
    void SetDisplay()
    {
        byte[]   FileData;
        string[] files = Directory.GetFiles(path, "bg.*");

        Texture2D tex = new Texture2D(2, 2);

        FileData = File.ReadAllBytes(files[0]);
        tex.LoadImage(FileData);

        background.texture = tex;

        perfect.text = "Pefect: " + SceneInfo.GetValueForKey("perfect");
        good.text    = "Good: " + SceneInfo.GetValueForKey("good");
        bad.text     = "Bad: " + SceneInfo.GetValueForKey("bad");
        miss.text    = "Miss: " + SceneInfo.GetValueForKey("miss");
        score.text   = "Score: " + SceneInfo.GetValueForKey("score");
        combo.text   = "Combo:" + Environment.NewLine + SceneInfo.GetValueForKey("combo");
    }
 // Use this for initialization
 void Start()
 {
     path = SceneInfo.GetValueForKey("path");
     SetDisplay();
 }