/**************************************************************************** * 2025.6 LXD ****************************************************************************/ using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using QFramework; using SFB; using System.IO; namespace QFramework { public partial class ImageOptionSetItem : UIElement { /// /// ͼƬÃû³Æ /// public string m_PictureName; private void Start() { ClickBtn.onClick.AddListener(OnClickBtnClick); } public void InitData(string option,string answer) { if (!string.IsNullOrEmpty(option)) { var arr = option.Split('_'); string tmpPicturePath = "Config/Ìâ¿âͼÎÄͼƬ/" + arr[1]; m_PictureName = arr[1]; ClickBtn.GetComponent().sprite = LoadHelper.LoadSpriteFromStreamming(tmpPicturePath); var arr1 = arr[0].Split('¡¢'); OptionInputField.text = arr1[1]; if (answer.Contains(arr1[0])) SelectToggle.isOn = true; else SelectToggle.isOn = false; } } protected override void OnBeforeDestroy() { } private void OnClickBtnClick() { ExtensionFilter extensionFilter = new ExtensionFilter("jpg", "png", "JPG", "PNG", "jpeg", "JPEG"); List extensionFilters = new List(); extensionFilters.Add(extensionFilter); string[] tmpFilePaths = StandaloneFileBrowser.OpenFilePanel("Ñ¡ÔñͼƬ", Application.streamingAssetsPath + "/Config/Ìâ¿âͼÎÄͼƬ/", extensionFilters.ToArray(), true); if (tmpFilePaths.Length == 0 || tmpFilePaths == null) return; if (CheckImageNameNotExist(tmpFilePaths[0].GetFileName())) { m_PictureName = tmpFilePaths[0].GetFileName(); File.Copy(tmpFilePaths[0], Application.streamingAssetsPath + "/Config/Ìâ¿âͼÎÄͼƬ/" + m_PictureName); string tmpPicturePath = "Config/Ìâ¿âͼÎÄͼƬ/" + m_PictureName; ClickBtn.GetComponent().sprite = LoadHelper.LoadSpriteFromStreamming(tmpPicturePath); } else { m_PictureName = tmpFilePaths[0].GetFileName(); string tmpPicturePath = "Config/Ìâ¿âͼÎÄͼƬ/" + m_PictureName; ClickBtn.GetComponent().sprite = LoadHelper.LoadSpriteFromStreamming(tmpPicturePath); } Debug.LogError(tmpFilePaths[0].Contains(Application.streamingAssetsPath)); Debug.LogError(tmpFilePaths[0].GetFileName()); //File.Copy(tmpFilePaths[0],Application.streamingAssetsPath + "/Config/Ìâ¿âͼÎÄͼƬ/" + tmpFilePaths[0].GetFileName() + ".png"); } /// /// ¼ì²éͼƬÃû³Æ²»´æÔÚ /// /// /// private bool CheckImageNameNotExist(string fileName) { string path = Application.streamingAssetsPath + "/Config/Ìâ¿âͼÎÄͼƬ"; DirectoryInfo directoryInfo = new DirectoryInfo(path); foreach (var file in directoryInfo.GetFiles()) { if (file.Name.Contains(fileName)) { Debug.LogError(fileName + ":" + file.Name); return false; } } return true; } } }