调整 SpriteCache 的读取资源方式
将原来 UGF 事件回调风格的调用改成使用 UniTask 的异步操作
This commit is contained in:
@@ -42,7 +42,7 @@ namespace SepCore.UI
|
||||
|
||||
#region BuildContext
|
||||
|
||||
private ShopContext BuildContext(ShopRawData rawData)
|
||||
private async UniTask<ShopContext> BuildContext(ShopRawData rawData)
|
||||
{
|
||||
if (rawData == null)
|
||||
{
|
||||
@@ -55,7 +55,7 @@ namespace SepCore.UI
|
||||
List<GoodsItemContext> goodsItems = new List<GoodsItemContext>();
|
||||
foreach (var item in rawData.GoodsItems)
|
||||
{
|
||||
goodsItems.Add(new GoodsItemContext(item));
|
||||
goodsItems.Add(await GoodsItemContext.CreateAsync(item));
|
||||
}
|
||||
|
||||
return new ShopContext
|
||||
@@ -214,7 +214,7 @@ namespace SepCore.UI
|
||||
|
||||
public async UniTask<int?> OpenUIAsync(ShopRawData rawData, float timeout = 30f)
|
||||
{
|
||||
ShopContext context = BuildContext(rawData);
|
||||
ShopContext context = await BuildContext(rawData);
|
||||
return await OpenFormAsync(context, timeout);
|
||||
}
|
||||
|
||||
@@ -256,7 +256,7 @@ namespace SepCore.UI
|
||||
|
||||
#region Service
|
||||
|
||||
private void RefreshGoodsItems(ShopRefreshResult result)
|
||||
private async UniTask RefreshGoodsItems(ShopRefreshResult result)
|
||||
{
|
||||
if (result == null)
|
||||
{
|
||||
@@ -272,8 +272,8 @@ namespace SepCore.UI
|
||||
|
||||
for (int i = 0; i < result.GoodsItems.Count; i++)
|
||||
{
|
||||
if (i < Context.GoodsItems.Count) Context.GoodsItems[i] = new GoodsItemContext(result.GoodsItems[i]);
|
||||
else Context.GoodsItems.Add(new GoodsItemContext(result.GoodsItems[i]));
|
||||
if (i < Context.GoodsItems.Count) Context.GoodsItems[i] = await GoodsItemContext.CreateAsync(result.GoodsItems[i]);
|
||||
else Context.GoodsItems.Add(await GoodsItemContext.CreateAsync(result.GoodsItems[i]));
|
||||
}
|
||||
|
||||
if (Context.GoodsItems.Count != result.GoodsItems.Count)
|
||||
@@ -425,7 +425,7 @@ namespace SepCore.UI
|
||||
|
||||
#region Event Handlers
|
||||
|
||||
private void Refresh(object sender, GameEventArgs e)
|
||||
private async void Refresh(object sender, GameEventArgs e)
|
||||
{
|
||||
if (sender is not ShopForm)
|
||||
{
|
||||
@@ -443,7 +443,7 @@ namespace SepCore.UI
|
||||
return;
|
||||
}
|
||||
|
||||
RefreshGoodsItems(result);
|
||||
await RefreshGoodsItems(result);
|
||||
}
|
||||
|
||||
private void ShopPurchase(object sender, GameEventArgs e)
|
||||
|
||||
Reference in New Issue
Block a user