public void fadeOutBackground()
    {
        PlayerInputScript player = FindObjectOfType <PlayerInputScript>();

        player.setHighlightedInventoryItemToNull();
        player.setHighlightedWorldObjectToNull();
        fadeOutImage_exclUI.enabled = true;
        fadeOutImage_exclUI.color   = new Color(fadeOutImageColour.r, fadeOutImageColour.g, fadeOutImageColour.b, 0.5f);
    }
    private IEnumerator fadeAndSwitchScene(string sceneName)
    {
        PlayerInputScript player = FindObjectOfType <PlayerInputScript>();

        player.setHighlightedInventoryItemToNull();
        player.setHighlightedWorldObjectToNull();

        yield return(StartCoroutine(fade(1f)));

        closeMapScreen();

        BeforeSceneUnload?.Invoke(); // calls all functions that are 'subscibed' to the BeforeSceneUnload function

        yield return(SceneManager.UnloadSceneAsync(SceneManager.GetActiveScene().buildIndex));

        yield return(StartCoroutine(loadSceneAndSetActive(sceneName)));

        AfterSceneLoad?.Invoke();

        yield return(StartCoroutine(fade(0f)));
    }