This commit is contained in:
zhangzheng
2025-12-16 19:18:35 +08:00
parent 42161fa127
commit 3f3e6862ec
3 changed files with 45 additions and 47 deletions

View File

@@ -17,6 +17,7 @@ namespace Stary.Evo.UIFarme
/// </summary>
string UIName { get; set; }
BaseRenderPanel.UITweenType TweenType { get; set; }
/// <summary>
/// 绑定这个面板的实例
/// </summary>
@@ -79,7 +80,7 @@ namespace Stary.Evo.UIFarme
/// </summary>
public virtual string UIName { get; set; }
//public abstract UITweenType TweenType { get; }
public UITweenType TweenType { get; set; }
/// <summary>
@@ -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
// {
// /// <summary>
// /// 无动画
// /// </summary>
// None,
//
// /// <summary>
// /// 淡入淡出
// /// </summary>
// Fade,
//
// /// <summary>
// /// 循环播放
// /// </summary>
// Loop,
//
// /// <summary>
// /// 往返播放
// /// </summary>
// Yoyo,
// }
public enum UITweenType
{
/// <summary>
/// 无动画
/// </summary>
None,
/// <summary>
/// 淡入淡出
/// </summary>
Fade,
}
}
}

View File

@@ -10,9 +10,11 @@ namespace Stary.Evo.UIFarme
/// <summary>
/// UI的入栈操作此操作会显示一个面板
/// </summary>
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<T>(string packageName = null, Transform parent = null)
Task PushQueue<T>(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
/// <summary>
/// 执行面板的出栈操作此操作会执行面板的OnExit方法
/// </summary>
void PopQueue(string panelName);
void PopQueue(string panelName,BaseRenderPanel.UITweenType tweenType = BaseRenderPanel.UITweenType.Fade);
void PopQueue<T>() where T : IBaseRenderPanel, new();
void PopQueue<T>(BaseRenderPanel.UITweenType tweenType = BaseRenderPanel.UITweenType.Fade) where T : IBaseRenderPanel, new();
/// <summary>
/// 面板全部出栈此操作会执行面板的OnExit方法
/// </summary>
@@ -108,7 +110,7 @@ namespace Stary.Evo.UIFarme
/// <param name="parent"></param>
/// <param name="packageName">非热更模式传null</param>
/// <typeparam name="T"></typeparam>
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
/// <param name="parent"></param>
/// <param name="packageName">非热更模式传null</param>
/// <typeparam name="T"></typeparam>
public async Task PushQueue<T>(string packageName = null, Transform parent = null)
public async Task PushQueue<T>(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<T>() where T : IBaseRenderPanel, new()
public void PopQueue<T>(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);
}

View File

@@ -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",