using SFB; using System.IO; using UnityEngine; using UnityEngine.UI; namespace UVC.Edit { public class PropertyWindow : MonoBehaviour { public Image uiImageTarget; // UI 객체에 적용할 Image public SpriteRenderer spriteTarget; // 2D 객체에 적용할 SpriteRenderer public void OpenImageFileBrowser() { var extensions = new[] { new ExtensionFilter("Image Files", "png", "jpg", "jpeg") }; // 비동기 방식으로 파일 브라우저 열기 StandaloneFileBrowser.OpenFilePanelAsync("Select an Image", "", extensions, false, (string[] paths) => { if (paths.Length > 0 && !string.IsNullOrEmpty(paths[0])) { LoadAndApplyTexture(paths[0]); } }); } private void LoadAndApplyTexture(string path) { byte[] fileData = File.ReadAllBytes(path); Texture2D texture = new Texture2D(2, 2); // 이미지 데이터로 텍스처 로드 if (texture.LoadImage(fileData)) { if (uiImageTarget != null) { Sprite newSprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f)); uiImageTarget.sprite = newSprite; } if (spriteTarget != null) { Sprite newSprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f)); spriteTarget.sprite = newSprite; } } } } }