// Update is called once per frame

    public override IEnumerator StartInteraction()
    {
        float time;

        GameControl.control.Freeze();
        StartCoroutine(Visability(false, otherWilliam, otherLight));
        yield return(StartCoroutine(jukebox.PauseOut(0.4f)));

        time = jukebox.CurrentTime();
        jukebox.StopSong();
        anim.SetBool("Paused", true);
        jukebox.PlaySong("WillsTheme");
        StartCoroutine(Visability(true, William, thisLight));
        yield return(StartCoroutine(jukebox.FadeIn(0.4f)));

        yield return(StartCoroutine(talkCanvas.StartDialogueSprite(dialogue[0], "default", 1, 0)));

        GameControl.control.DPMainData.progression = 9;
        GameControl.control.DPMainData.viTalked    = false;
        StartCoroutine(jukebox.FadeOut(0.4f));
        yield return(StartCoroutine(Visability(false, William, thisLight)));

        anim.SetBool("Paused", false);
        jukebox.PlaySongPartway("DP", time);
        yield return(StartCoroutine(Visability(true, otherWilliam, otherLight)));

        GameControl.control.DPMainData.progression = 9;
        GameControl.control.DPMainData.viTalked    = false;

        Destroy(William.gameObject);
        Destroy(this.gameObject);
    }
    public override IEnumerator StartInteraction()
    {
        float time;

        GameControl.control.Freeze();
        yield return(StartCoroutine(jukebox.PauseOut(0.4f)));

        time = jukebox.CurrentTime();
        jukebox.StopSong();
        anim.SetBool("Paused", true);
        jukebox.PlaySong("WillsTheme");
        yield return(StartCoroutine(jukebox.FadeIn(0.4f)));

        yield return(StartCoroutine(talkCanvas.StartDialogueSprite(dialogue, "default", 1, 0)));

        anim.SetBool("Paused", false);
        jukebox.PlaySongPartway("DP", time);
    }