/****************************************************************************
* 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;
}
}
}