using UnityEngine;
using UnityEngine.UI;
public class ImageManager : MonoBehaviour{
[SerializeField]
private GameObject imagePrefab;
void Start() {
LoadManager.Ins.LoadOneFolderPicture(CreateImage, "\\狸熊");
}
public void CreateImage(Texture2D texture2D)
{
Sprite sprite = Sprite.Create(texture2D, new Rect(0, 0, texture2D.width, texture2D.height), new Vector2(0.5f, 0.5f));
var obj = GameObject.Instantiate(imagePrefab);
obj.transform.SetParent(transform);
obj.transform.localScale = Vector3.one;
Image image = obj.GetComponent<Image>();
image.sprite = sprite;
image.SetNativeSize();
obj.GetComponent<RectTransform>().sizeDelta = new Vector2(image.sprite.rect.width, image.sprite.rect.height) * 0.2f; ; } }
using System.Collections;
using System.Collections.Generic;using UnityEngine;
using System;
using UnityEngine.UI;
using UnityEngine.Networking;
using System.IO;
using System;
public class LoadManager : MonoBehaviour{
public static LoadManager Ins;
private string path;
private void Awake()
{
Ins = this;
path = Directory.GetCurrentDirectory()+"\\Source";
}
public void LoadOnePicture(Action<Texture2D> action, string url)
{
StartCoroutine(LoadImage(action, path+ url));
}
public void LoadOneFolderPicture(Action<Texture2D> action,string url)
{
List<string> files = new List<string>();
string[] vs = Directory.GetFiles(path+url);
foreach(string i in vs)
{
string tmp = Path.GetExtension(i);
if (tmp == ".png"||tmp==".jpg")
{
files.Add(i);
}
}
foreach(string i in files)
{
StartCoroutine(LoadImage(action, i));
}
}
private IEnumerator LoadImage(Action<Texture2D> action,string url)
{
UnityWebRequest request = UnityWebRequest.Get(url);
DownloadHandlerTexture texture = new DownloadHandlerTexture(true);
request.downloadHandler = texture;
yield return request.SendWebRequest();
if (!request.isNetworkError)
{
action(texture.texture);
}
}
}