public void CancelLoadPanel(bool forceClosing = false)
 {
     try
     {
         var temp = ToggleDictionnary.Where(x => x.Value.toggle.isOn == true).Select(x => x.Value);
         if (temp.Count() != 0 && !forceClosing)
         {
             Toggle toggle = temp.First().toggle;
             toggle.isOn = false;
             ToolsUI.ToogleHorizontalUpdateUI(toggle);
         }
         else
         {
             DeleteButtonLoadPanel.targetGraphic.color = DeleteButtonLoadPanel.colors.normalColor;
             DeleteButtonLoadPanel.interactable        = false;
             SelectButtonLoadPanel.targetGraphic.color = SelectButtonLoadPanel.colors.normalColor;
             SelectButtonLoadPanel.interactable        = false;
             loadPageShip.SetActive(false);
             EventSystem.current.SetSelectedGameObject(null);
             EventSystem.current.SetSelectedGameObject(GameObject.Find("Load"));
         }
     }
     finally
     {
     }
 }
    /// <summary>
    /// Responsible for showing the tools window.
    /// </summary>

    void ShowTool()
    {
        if (toolsUI == null)
        {
            toolsUI = ToolsUI.instance;
        }

        toolsWindow.SetActive(true);
        toolsUI.UpdateUI();
    }
    public static ToolsUI instance;         // singleton

    private void Awake()
    {
        if (instance == null)
        {
            instance = this;
        }
        else
        {
            Destroy(gameObject);
        }

        SetupTools();
    }
    public void UpdateLoadPanel()
    {
        string[] filesNames;

        try
        {
            filesNames = Directory.GetFiles(Application.persistentDataPath + "/Save/Vessels_Save/");
            Directory.GetFiles(Application.persistentDataPath + "/Save_Media/");
        }
        catch (DirectoryNotFoundException)
        {
            Directory.CreateDirectory(Application.persistentDataPath + "/Save/Vessels_Save/");
            Directory.CreateDirectory(Application.persistentDataPath + "/Save_Media/");
            filesNames = Directory.GetFiles(Application.persistentDataPath + "/Save/Vessels_Save/");
        }

        foreach (string filename in filesNames)
        {
            string filenameFlat = filename.Split('/').Last();
            filenameFlat = filenameFlat.Split('.')[0];

            //Only adding new Saves;
            if (ToggleDictionnary.ContainsKey(filenameFlat))
            {
                continue;
            }

            try
            {
                GameObject newToggle = Instantiate(togglePrefabLoad);
                newToggle.name = filenameFlat;

                newToggle.transform.SetParent(listParent.transform.GetChild(0), false);
                newToggle.GetComponent <Toggle>().group = toggleGroupLoad.GetComponent <ToggleGroup>();

                newToggle.GetComponent <Toggle>().onValueChanged.AddListener((value) =>
                {
                    ToolsUI.ToogleHorizontalUpdateUI(newToggle.GetComponent <Toggle>());
                    UpdatePreviewVideoForSelection(newToggle.GetComponent <Toggle>());
                });

                UpdatePreviewImage(filenameFlat, newToggle.GetComponent <Toggle>());
                UpdatePreviewVideo(filenameFlat, newToggle.GetComponent <Toggle>());
                UpdateTextToggle(filenameFlat, newToggle.GetComponent <Toggle>());

                ToggleDictionnary.Add(filenameFlat, new ToggleTextureLink(newToggle.GetComponent <Toggle>(), newToggle.transform.GetChild(1).GetChild(0).GetComponent <RawImage>().texture));

                Graphics.Blit(newToggle.transform.GetChild(1).GetChild(0).GetComponent <RawImage>().texture, newToggle.transform.GetChild(1).GetChild(0).GetComponent <VideoPlayer>().targetTexture);
            }
            catch (Exception e)
            {
                Debug.Log(e.StackTrace + e.Message + "\nSave Corrupted");
            }
        }

        for (int i = 0; i < ToggleDictionnary.Count; i++)
        {
            Navigation navig = ToggleDictionnary.ElementAt(i).Value.toggle.navigation;

            if (i > 0)
            {
                navig.selectOnUp = ToggleDictionnary.ElementAt(i - 1).Value.toggle;
            }

            if (i < ToggleDictionnary.Count - 1)
            {
                navig.selectOnDown = ToggleDictionnary.ElementAt(i + 1).Value.toggle;
            }

            navig.selectOnRight = CancelButtonLoadPanel;
            ToggleDictionnary.ElementAt(i).Value.toggle.navigation = navig;
        }
    }