初始化

This commit is contained in:
come
2025-07-26 16:56:42 +08:00
parent 8291dbb91c
commit fa81439a8c
2574 changed files with 328492 additions and 2170 deletions

View File

@@ -0,0 +1,25 @@
namespace YIUIFramework
{
public partial class BaseView : BaseWindow, IYIUIView
{
public virtual EViewWindowType ViewWindowType => EViewWindowType.View;
public virtual EViewStackOption StackOption => EViewStackOption.Visible;
#region
protected sealed override void SealedInitialize()
{
}
protected sealed override void SealedStart()
{
}
protected sealed override void SealedOnDestroy()
{
}
#endregion
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 8fce5356e45247d098a80b33ae50d355
timeCreated: 1681899010

View File

@@ -0,0 +1,85 @@
using System;
using Cysharp.Threading.Tasks;
using UnityEngine;
namespace YIUIFramework
{
public partial class BaseView
{
protected sealed override async UniTask SealedOnWindowOpenTween()
{
if (PanelMgr.IsLowQuality || WindowBanTween)
{
OnOpenTweenEnd();
return;
}
var foreverCode = WindowAllowOptionByTween ? 0 : m_PanelMgr.BanLayerOptionForever();
try
{
await OnOpenTween();
}
catch (Exception e)
{
Debug.LogError($"{UIResName} 打开动画执行报错 {e}");
}
finally
{
m_PanelMgr.RecoverLayerOptionForever(foreverCode);
OnOpenTweenEnd();
}
}
protected sealed override async UniTask SealedOnWindowCloseTween()
{
if (!ActiveSelf || PanelMgr.IsLowQuality || WindowBanTween)
{
OnCloseTweenEnd();
return;
}
var foreverCode = WindowAllowOptionByTween ? 0 : m_PanelMgr.BanLayerOptionForever();
try
{
await OnCloseTween();
}
catch (Exception e)
{
Debug.LogError($"{UIResName} 关闭动画执行报错 {e}");
}
finally
{
m_PanelMgr.RecoverLayerOptionForever(foreverCode);
OnCloseTweenEnd();
}
}
protected override async UniTask OnOpenTween()
{
await UniTask.CompletedTask;
}
protected override async UniTask OnCloseTween()
{
await UniTask.CompletedTask;
}
protected override void OnOpenTweenStart()
{
OwnerGameObject.SetActive(true);
}
protected override void OnOpenTweenEnd()
{
}
protected override void OnCloseTweenStart()
{
}
protected override void OnCloseTweenEnd()
{
OwnerGameObject.SetActive(false);
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: d10269ae02e548d393b7683b30b9d806
timeCreated: 1684119736

View File

@@ -0,0 +1,18 @@
using Cysharp.Threading.Tasks;
namespace YIUIFramework
{
public partial class BaseView
{
public void Close(bool tween = true, bool ignoreElse = false)
{
CloseAsync(tween).Forget();
}
public async UniTask CloseAsync(bool tween = true)
{
await InternalOnWindowCloseTween(tween);
OnWindowClose();
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 5487f84a0fa4482dab277c0ee07f415c
timeCreated: 1684119708

View File

@@ -0,0 +1,239 @@
using System;
using Cysharp.Threading.Tasks;
using UnityEngine;
namespace YIUIFramework
{
/// <summary>
/// OpenView 由BasePanel调用
/// </summary>
public partial class BaseView
{
#region Open BasePanel调用
/// <summary>
/// 使用基础Open 打开类
/// </summary>
/// <returns></returns>
private async UniTask<bool> UseBaseOpen()
{
if (!WindowCanUseBaseOpen)
{
Debug.LogError($"当前传入的参数不支持 并未实现这个打开方式 且不允许使用基础Open打开 请检查");
return false;
}
return await Open();
}
public async UniTask<bool> Open()
{
SetActive(true);
var success = false;
if (!WindowHaveIOpenAllowOpen && this is IYIUIOpen)
{
Debug.LogError($"当前View 有其他IOpen 接口 需要参数传入 不允许直接调用Open");
return false;
}
try
{
success = await OnOpen();
}
catch (Exception e)
{
Debug.LogError($"ResName={UIResName}, err={e.Message}{e.StackTrace}");
}
if (success)
{
await InternalOnWindowOpenTween();
}
return success;
}
public async UniTask<bool> Open(ParamVo param)
{
if (WindowBanParamOpen)
{
Debug.LogError($"当前禁止使用ParamOpen 请检查");
return false;
}
SetActive(true);
var success = false;
try
{
success = await OnOpen(param);
}
catch (Exception e)
{
Debug.LogError($"ResName={UIResName}, err={e.Message}{e.StackTrace}");
}
if (success)
{
await InternalOnWindowOpenTween();
}
return success;
}
public async UniTask<bool> Open<P1>(P1 p1)
{
SetActive(true);
var success = false;
if (this is IYIUIOpen<P1> view)
{
try
{
success = await view.OnOpen(p1);
}
catch (Exception e)
{
Debug.LogError($"ResName{UIResName}, err={e.Message}{e.StackTrace}");
}
}
else
{
return await UseBaseOpen();
}
if (success)
{
await InternalOnWindowOpenTween();
}
return success;
}
public async UniTask<bool> Open<P1, P2>(P1 p1, P2 p2)
{
SetActive(true);
var success = false;
if (this is IYIUIOpen<P1, P2> view)
{
try
{
success = await view.OnOpen(p1, p2);
}
catch (Exception e)
{
Debug.LogError($"ResName{UIResName}, err={e.Message}{e.StackTrace}");
}
}
else
{
return await UseBaseOpen();
}
if (success)
{
await InternalOnWindowOpenTween();
}
return success;
}
public async UniTask<bool> Open<P1, P2, P3>(P1 p1, P2 p2, P3 p3)
{
SetActive(true);
var success = false;
if (this is IYIUIOpen<P1, P2, P3> view)
{
try
{
success = await view.OnOpen(p1, p2, p3);
}
catch (Exception e)
{
Debug.LogError($"ResName{UIResName}, err={e.Message}{e.StackTrace}");
}
}
else
{
return await UseBaseOpen();
}
if (success)
{
await InternalOnWindowOpenTween();
}
return success;
}
public async UniTask<bool> Open<P1, P2, P3, P4>(P1 p1, P2 p2, P3 p3, P4 p4)
{
SetActive(true);
var success = false;
if (this is IYIUIOpen<P1, P2, P3, P4> view)
{
try
{
success = await view.OnOpen(p1, p2, p3, p4);
}
catch (Exception e)
{
Debug.LogError($"ResName{UIResName}, err={e.Message}{e.StackTrace}");
}
}
else
{
return await UseBaseOpen();
}
if (success)
{
await InternalOnWindowOpenTween();
}
return success;
}
public async UniTask<bool> Open<P1, P2, P3, P4, P5>(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5)
{
SetActive(true);
var success = false;
if (this is IYIUIOpen<P1, P2, P3, P4, P5> view)
{
try
{
success = await view.OnOpen(p1, p2, p3, p4, p5);
}
catch (Exception e)
{
Debug.LogError($"ResName{UIResName}, err={e.Message}{e.StackTrace}");
}
}
else
{
return await UseBaseOpen();
}
if (success)
{
await InternalOnWindowOpenTween();
}
return success;
}
#endregion
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 98d98381684a42899a63542d7d213fa6
timeCreated: 1683797215