diff --git a/Assets/00.StaryEvoTools/Runtime/Tools/PanelSystem/Base/BaseRenderPanel.cs b/Assets/00.StaryEvoTools/Runtime/Tools/PanelSystem/Base/BaseRenderPanel.cs
index 2b11eeb..c43c2de 100644
--- a/Assets/00.StaryEvoTools/Runtime/Tools/PanelSystem/Base/BaseRenderPanel.cs
+++ b/Assets/00.StaryEvoTools/Runtime/Tools/PanelSystem/Base/BaseRenderPanel.cs
@@ -17,6 +17,7 @@ namespace Stary.Evo.UIFarme
///
string UIName { get; set; }
+ BaseRenderPanel.UITweenType TweenType { get; set; }
///
/// 绑定这个面板的实例
///
@@ -79,7 +80,7 @@ namespace Stary.Evo.UIFarme
///
public virtual string UIName { get; set; }
- //public abstract UITweenType TweenType { get; }
+ public UITweenType TweenType { get; set; }
///
@@ -227,16 +228,16 @@ namespace Stary.Evo.UIFarme
foreach (var spriteRenderer in spriteRendererDict)
{
- // if (TweenType == UITweenType.None)
- // {
- // Color c = spriteRenderer.Value.color;
- // c.a = alpha;
- // spriteRenderer.Value.color = c;
- // }
- // else if (TweenType == UITweenType.Fade)
- // {
+ if (TweenType == UITweenType.None)
+ {
+ Color c = spriteRenderer.Value.color;
+ c.a = alpha;
+ spriteRenderer.Value.color = c;
+ }
+ else if (TweenType == UITweenType.Fade)
+ {
sequence.Join(spriteRenderer.Value.DOFade(alpha, 1f));
- // }
+ }
// else if (TweenType == UITweenType.Yoyo)
// {
// sequence.Join(spriteRenderer.Value.DOFade(alpha, 1f)
@@ -244,15 +245,16 @@ namespace Stary.Evo.UIFarme
// }
}
- // if (TweenType == UITweenType.None)
- // {
- // complete?.Invoke();
- // }
- // else
+ if (TweenType == UITweenType.None)
+ {
+ complete?.Invoke();
+ }
+ else
{
sequence.OnComplete(() => complete?.Invoke());
+ sequence.Play();
}
- sequence.Play();
+
}
public IArchitecture GetArchitecture()
@@ -260,27 +262,17 @@ namespace Stary.Evo.UIFarme
return PanelSystem.GetArchitecture();
}
- // public enum UITweenType
- // {
- // ///
- // /// 无动画
- // ///
- // None,
- //
- // ///
- // /// 淡入淡出
- // ///
- // Fade,
- //
- // ///
- // /// 循环播放
- // ///
- // Loop,
- //
- // ///
- // /// 往返播放
- // ///
- // Yoyo,
- // }
+ public enum UITweenType
+ {
+ ///
+ /// 无动画
+ ///
+ None,
+
+ ///
+ /// 淡入淡出
+ ///
+ Fade,
+ }
}
}
\ No newline at end of file
diff --git a/Assets/00.StaryEvoTools/Runtime/Tools/PanelSystem/Manager/SpriteRendererSystem.cs b/Assets/00.StaryEvoTools/Runtime/Tools/PanelSystem/Manager/SpriteRendererSystem.cs
index 30afd2b..c2bd056 100644
--- a/Assets/00.StaryEvoTools/Runtime/Tools/PanelSystem/Manager/SpriteRendererSystem.cs
+++ b/Assets/00.StaryEvoTools/Runtime/Tools/PanelSystem/Manager/SpriteRendererSystem.cs
@@ -10,9 +10,11 @@ namespace Stary.Evo.UIFarme
///
/// UI的入栈操作,此操作会显示一个面板
///
- Task PushQueue(string prefabName, string packageName = null, Transform parent = null);
+ Task PushQueue(string prefabName, string packageName = null, Transform parent = null,BaseRenderPanel.UITweenType tweenType = BaseRenderPanel.UITweenType.Fade);
- Task PushQueue(string packageName = null, Transform parent = null)
+
+
+ Task PushQueue(string packageName = null, Transform parent = null,BaseRenderPanel.UITweenType tweenType = BaseRenderPanel.UITweenType.Fade)
where T : IBaseRenderPanel, new();
Task PushStack(string prefabName, string packageName = null, Transform parent = null);
@@ -30,9 +32,9 @@ namespace Stary.Evo.UIFarme
///
/// 执行面板的出栈操作,此操作会执行面板的OnExit方法
///
- void PopQueue(string panelName);
+ void PopQueue(string panelName,BaseRenderPanel.UITweenType tweenType = BaseRenderPanel.UITweenType.Fade);
- void PopQueue() where T : IBaseRenderPanel, new();
+ void PopQueue(BaseRenderPanel.UITweenType tweenType = BaseRenderPanel.UITweenType.Fade) where T : IBaseRenderPanel, new();
///
/// 面板全部出栈此操作会执行面板的OnExit方法
///
@@ -108,7 +110,7 @@ namespace Stary.Evo.UIFarme
///
/// 非热更模式传null
///
- public async Task PushQueue(string prefabName, string packageName = null, Transform parent = null)
+ public async Task PushQueue(string prefabName, string packageName = null, Transform parent = null,BaseRenderPanel.UITweenType tweenType = BaseRenderPanel.UITweenType.Fade)
{
IBaseRenderPanel nextPanel = null;
if (!dicUI.ContainsKey(prefabName))
@@ -117,6 +119,7 @@ namespace Stary.Evo.UIFarme
nextPanel.UIName = prefabName;
await nextPanel.InitializeAsync(this);
nextPanel.SetPanelParent(parent);
+ nextPanel.TweenType = tweenType;
GameObject panelGo = await nextPanel.CreatePanel(packageName, prefabName);
///生成面板后,进行初始化操作
await nextPanel.InitializeAsync(panelGo);
@@ -146,7 +149,7 @@ namespace Stary.Evo.UIFarme
///
/// 非热更模式传null
///
- public async Task PushQueue(string packageName = null, Transform parent = null)
+ public async Task PushQueue(string packageName = null, Transform parent = null,BaseRenderPanel.UITweenType tweenType = BaseRenderPanel.UITweenType.Fade)
where T : IBaseRenderPanel, new()
{
var prefabName = typeof(T).Name;
@@ -157,6 +160,7 @@ namespace Stary.Evo.UIFarme
nextPanel = new T();
await nextPanel.InitializeAsync(this);
nextPanel.SetPanelParent(parent);
+ nextPanel.TweenType = tweenType;
GameObject panelGo = await nextPanel.CreatePanel(packageName, nextPanel.UIName);
///生成面板后,进行初始化操作
await nextPanel.InitializeAsync(panelGo);
@@ -273,23 +277,25 @@ namespace Stary.Evo.UIFarme
nextPanel.OnEnter();
}
- public void PopQueue(string panelName)
+ public void PopQueue(string panelName,BaseRenderPanel.UITweenType tweenType = BaseRenderPanel.UITweenType.Fade)
{
for (int i = 0; i < queuePanel.Count; i++)
{
if (queuePanel[i].UIName == panelName)
{
+ queuePanel[i].TweenType = tweenType;
queuePanel[i].OnExit();
queuePanel.RemoveAt(i);
}
}
}
- public void PopQueue() where T : IBaseRenderPanel, new()
+ public void PopQueue(BaseRenderPanel.UITweenType tweenType = BaseRenderPanel.UITweenType.Fade) where T : IBaseRenderPanel, new()
{
for (int i = 0; i < queuePanel.Count; i++)
{
if (queuePanel[i].GetType().Name == typeof(T).Name)
{
+ queuePanel[i].TweenType = tweenType;
queuePanel[i].OnExit();
queuePanel.RemoveAt(i);
}
diff --git a/Assets/00.StaryEvoTools/package.json b/Assets/00.StaryEvoTools/package.json
index 4775aac..158d7e0 100644
--- a/Assets/00.StaryEvoTools/package.json
+++ b/Assets/00.StaryEvoTools/package.json
@@ -1,6 +1,6 @@
{
"name": "com.staryevo.tools",
- "version": "1.2.15",
+ "version": "1.2.16",
"displayName": "00.StaryEvo.Tools",
"description": "This is an Framework package(后台服务器版本,端口9527)",
"unity": "2021.3",