From bc1cb6da854cb2e9144f10ed55330a537ecdca16 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 04 三月 2026 14:35:57 +0800
Subject: [PATCH] 466 h5版本 资源规则修改 打包修改(未完成 勿拉取)
---
Main/Component/UI/Effect/BattleEffectPlayer.cs | 28 +++++++++++++++++-----------
1 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/Main/Component/UI/Effect/BattleEffectPlayer.cs b/Main/Component/UI/Effect/BattleEffectPlayer.cs
index 2c7e222..5f585de 100644
--- a/Main/Component/UI/Effect/BattleEffectPlayer.cs
+++ b/Main/Component/UI/Effect/BattleEffectPlayer.cs
@@ -6,6 +6,7 @@
using Spine;
using UnityEngine.UI;
using System.Linq;
+using Cysharp.Threading.Tasks;
// 鐗规晥鎾斁鍣紝瀵硅薄姹犵鐞嗭細unity鐗规晥鍜宻pine鐗规晥閮芥槸鍋氬ソ鐨勯鍒朵綋
// unity鐗规晥棰勫埗浣撴槸鐗规晥甯堝湪鍒朵綔鐨勬椂鍊欑敓鎴愮殑锛寀nity鐗规晥蹇呴』鎸傝浇璁剧疆鎾斁鏃堕暱鑴氭湰 EffectTime
@@ -124,7 +125,7 @@
}
- protected void InitComponent(bool showLog = true)
+ protected async UniTask InitComponent(bool showLog = true)
{
Clear();
if (effectId <= 0)
@@ -156,7 +157,7 @@
// 鍒濆鍖杝pine缁勪欢
if (effectConfig != null && effectConfig.isSpine != 0)
{
- GameObject spineContainerPrefab = ResManager.Instance.LoadAsset<GameObject>("UIComp", "SpineAnimContainer");
+ GameObject spineContainerPrefab = await ResManager.Instance.LoadAssetAsync<GameObject>("UIComp", "SpineAnimContainer");
spineContainer = GameObject.Instantiate(spineContainerPrefab, transform, true);
spineContainer.transform.localPosition = Vector3.zero;
}
@@ -266,11 +267,11 @@
}
}
- public virtual void Play(bool showLog = true)
+ public virtual async void Play(bool showLog = true)
{
if (!isInit)
{
- InitComponent(showLog);
+ await InitComponent(showLog);
isInit = true;
}
else
@@ -349,19 +350,19 @@
{
if (effectConfig.isSpine != 0)
{
- PlaySpineEffect();
+ PlaySpineEffect().Forget();
}
else
{
- PlayUnityEffect();
+ PlayUnityEffect().Forget();
}
- battleField?.soundManager.PlayEffectSound(effectConfig.audio);
+ battleField?.soundManager.PlayEffectSound(effectConfig.audio).Forget();
OnAlphaChanged();
}
- protected void PlaySpineEffect()
+ protected async UniTask PlaySpineEffect()
{
if (spineComp == null)
{
@@ -371,7 +372,7 @@
// ===== 绠�鍖栵細鐩存帴浠庣紦瀛樿幏鍙栵紝缂撳瓨鍐呴儴浼氳嚜鍔ㄥ姞杞� =====
string directory = "UIEffect/" + effectConfig.packageName;
- SkeletonDataAsset skeletonDataAsset = BattleResManager.Instance.GetSpineResource(
+ SkeletonDataAsset skeletonDataAsset = await BattleResManager.Instance.GetSpineResource(
directory,
effectConfig.fxName,
battleField?.guid
@@ -380,6 +381,11 @@
if (skeletonDataAsset == null)
{
Debug.LogError($"BattleEffectPlayer: Failed to load effect spine {effectConfig.fxName}");
+ return;
+ }
+
+ if (this == null || spineComp == null)
+ {
return;
}
// ================================
@@ -433,11 +439,11 @@
return false;
}
- protected void PlayUnityEffect()
+ protected async UniTask PlayUnityEffect()
{
// 杩欓噷鏄函unity鐗规晥鐨勯�昏緫
- var effectPrefab = ResManager.Instance.LoadAsset<GameObject>("UIEffect/" + effectConfig.packageName, effectConfig.fxName);
+ var effectPrefab = await ResManager.Instance.LoadAssetAsync<GameObject>("UIEffect/" + effectConfig.packageName, effectConfig.fxName);
if (effectPrefab == null)
{
Debug.LogError($"鍔犺浇UI鐗规晥澶辫触: {effectConfig.packageName}");
--
Gitblit v1.8.0