protected override void AddListenerForPanelFields()
        {
            base.AddListenerForPanelFields();

            var panel = Panel.transform;

            var fileSaveLocationText = panel.GetChild(3).GetComponent <TMP_Text>();
            var fileSavePathButton   = panel.GetChild(0).GetComponent <Button>();

            fileSavePathButton.onClick.AddListener(() => StartCoroutine(Coroutine_SaveFilePath(fileSaveLocationText)));

            var fileNameInputField = panel.GetChild(1).GetComponent <TMP_InputField>();

            fileNameInputField.onValueChanged.AddListener(
                (string val) =>
            {
                m_fileName = val;
                fileSaveLocationText.text = $"File Location : {fileSavePathAndName}";
                onFileSavePathAndNameChanged?.Invoke(fileSavePathAndName);
            }
                );

            var fileExtOptions = new List <string> {
                ".png", ".jpg"
            };
            var fileExtDropdown = panel.GetChild(2).GetComponent <TMP_Dropdown>();

            fileExtDropdown.AddOptions(fileExtOptions);
            fileExtDropdown.onValueChanged.AddListener(
                (int option) =>
            {
                m_fileExt  = fileExtOptions[option];
                m_imageExt = (EDanbiImageExt)option;
                fileSaveLocationText.text = $"File Location : {fileSavePathAndName}";
                onFileExtChanged?.Invoke(m_imageExt);
                onFileSavePathAndNameChanged?.Invoke(fileSavePathAndName);
            }
                );

            LoadPreviousValues();
        }
        protected override void LoadPreviousValues(params Selectable[] uiElements)
        {
            string prevSavePath = PlayerPrefs.GetString("ImageGeneratorFilePath-filePath", default);

            if (!string.IsNullOrEmpty(prevSavePath))
            {
                m_filePath = prevSavePath;
                Panel.transform.GetChild(3).GetComponent <TMP_Text>().text = m_filePath;
                onFilePathChanged?.Invoke(m_filePath);
            }

            string prevFileName = PlayerPrefs.GetString("ImageGeneratorFilePath-fileName", default);

            if (!string.IsNullOrEmpty(prevFileName))
            {
                m_fileName = prevFileName;
                Panel.transform.GetChild(1).GetComponent <TMP_InputField>().text = m_fileName;
            }

            string prevFileExt = PlayerPrefs.GetString("ImageGeneratorFilePath-fileExt", default);

            if (!string.IsNullOrEmpty(prevFileExt))
            {
                m_fileExt = prevFileExt;
                EDanbiImageExt prevExt = default;
                if (m_fileExt == ".jpg")
                {
                    prevExt = EDanbiImageExt.jpg;
                }
                else if (m_fileExt == ".png")
                {
                    prevExt = EDanbiImageExt.png;
                }
                onFileExtChanged?.Invoke(prevExt);
            }
        }