From 3f3e6862ec10ec014ba243f9ca2de309df0e03ed Mon Sep 17 00:00:00 2001 From: zhangzheng Date: Tue, 16 Dec 2025 19:18:35 +0800 Subject: [PATCH] 111 --- .../Tools/PanelSystem/Base/BaseRenderPanel.cs | 68 ++++++++----------- .../Manager/SpriteRendererSystem.cs | 22 +++--- Assets/00.StaryEvoTools/package.json | 2 +- 3 files changed, 45 insertions(+), 47 deletions(-) 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",