ImageOptionSetItem.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. /****************************************************************************
  2. * 2025.6 LXD
  3. ****************************************************************************/
  4. using System;
  5. using System.Collections.Generic;
  6. using UnityEngine;
  7. using UnityEngine.UI;
  8. using QFramework;
  9. using SFB;
  10. using System.IO;
  11. namespace QFramework
  12. {
  13. public partial class ImageOptionSetItem : UIElement
  14. {
  15. private void Start()
  16. {
  17. ClickBtn.onClick.AddListener(OnClickBtnClick);
  18. }
  19. public void InitData(string option)
  20. {
  21. if (!string.IsNullOrEmpty(option))
  22. {
  23. var arr = option.Split('_');
  24. string tmpPicturePath = "Config/题库图文图片/" + arr[1];
  25. ClickBtn.GetComponent<Image>().sprite = LoadHelper.LoadSpriteFromStreamming(tmpPicturePath);
  26. var arr1 = arr[0].Split('、');
  27. OptionInputField.text = arr1[1];
  28. }
  29. else
  30. {
  31. }
  32. }
  33. protected override void OnBeforeDestroy()
  34. {
  35. }
  36. private void OnClickBtnClick()
  37. {
  38. ExtensionFilter extensionFilter = new ExtensionFilter("jpg", "png", "JPG", "PNG", "jpeg", "JPEG");
  39. List<ExtensionFilter> extensionFilters = new List<ExtensionFilter>();
  40. extensionFilters.Add(extensionFilter);
  41. string[] tmpFilePaths = StandaloneFileBrowser.OpenFilePanel("选择图片", "", extensionFilters.ToArray(), true);
  42. CheckImageNameNotExist(tmpFilePaths[0].GetFileName());
  43. if (CheckImageNameNotExist(tmpFilePaths[0].GetFileName()))
  44. {
  45. }
  46. Debug.LogError(tmpFilePaths[0].Contains(Application.streamingAssetsPath));
  47. Debug.LogError(tmpFilePaths[0].GetFileName());
  48. //File.Copy(tmpFilePaths[0],Application.streamingAssetsPath + "/Config/题库图文图片/" + tmpFilePaths[0].GetFileName() + ".png");
  49. }
  50. /// <summary>
  51. /// 检查图片名称不存在
  52. /// </summary>
  53. /// <param name="fileName"></param>
  54. /// <returns></returns>
  55. private bool CheckImageNameNotExist(string fileName)
  56. {
  57. string path = Application.streamingAssetsPath + "/Config/题库图文图片";
  58. DirectoryInfo directoryInfo = new DirectoryInfo(path);
  59. foreach (var file in directoryInfo.GetFiles())
  60. {
  61. if (file.Name.Contains(fileName))
  62. {
  63. Debug.LogError(fileName + ":" + file.Name);
  64. return false;
  65. }
  66. }
  67. return true;
  68. }
  69. }
  70. }