BITKit/Packages/Runtime~/Unity/Scripts/UX/Components/UXDataComponents/QRBuilder.cs

37 lines
1.2 KiB
C#
Raw Normal View History

2023-06-05 19:57:17 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using BITKit;
using BITKit.UX;
using UnityEngine.Networking;
namespace BITKit.UX.Components
{
[System.Serializable]
public class QRBuilder : StringComponent
{
public TranslateSO so;
public UXImage image;
public InitializationState state;
protected override async void OnSet(string value)
{
state = InitializationState.Initializing;
var url = so.Get(value);
using (var request = UnityWebRequestTexture.GetTexture(url))
{
Debug.Log(url);
await request.SendWebRequest();
2023-08-23 01:59:26 +08:00
BITApp.CancellationToken.ThrowIfCancellationRequested();
2023-06-05 19:57:17 +08:00
if (request.result is UnityWebRequest.Result.Success)
{
var texture = DownloadHandlerTexture.GetContent(request);
image.Set(texture);
state = InitializationState.Initialized;
}
else
{
state = InitializationState.None;
}
}
}
}
}