IEnumerator Sequence(InteractibleObject f, Item toRemove, bool removeObject, List <Spawnable> spawning, AudioClip toPlay, Sprite newPlayerSprite)
    {
        FadeIn();
        yield return(new WaitForSeconds(fadeTime + 0.1f));

        if (removeObject)
        {
            Destroy(f.gameObject);
        }
        if (toRemove != null)
        {
            inventory.DeleteItem(toRemove);
        }
        foreach (var spawnable in spawning)
        {
            Transform spawned = Instantiate(spawnable.toSpawn, spawnable.spawnLocation, quaternion.identity);
        }

        if (newPlayerSprite != null)
        {
            ClickToMoveController player = FindObjectOfType <ClickToMoveController>();
            player.GetComponentInChildren <SpriteRenderer>().sprite = newPlayerSprite;
        }
        source.PlayOneShot(toPlay);
        yield return(new WaitForSeconds(toPlay.length + 0.1f));

        FadeOut();
    }