初始化
This commit is contained in:
25
UnityGame/Assets/Scripts/ThirdParty/YIUIFramework/Panel/Base/View/BaseView.cs
vendored
Normal file
25
UnityGame/Assets/Scripts/ThirdParty/YIUIFramework/Panel/Base/View/BaseView.cs
vendored
Normal 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
|
||||
}
|
||||
}
|
||||
3
UnityGame/Assets/Scripts/ThirdParty/YIUIFramework/Panel/Base/View/BaseView.cs.meta
vendored
Normal file
3
UnityGame/Assets/Scripts/ThirdParty/YIUIFramework/Panel/Base/View/BaseView.cs.meta
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8fce5356e45247d098a80b33ae50d355
|
||||
timeCreated: 1681899010
|
||||
85
UnityGame/Assets/Scripts/ThirdParty/YIUIFramework/Panel/Base/View/BaseView_Anim.cs
vendored
Normal file
85
UnityGame/Assets/Scripts/ThirdParty/YIUIFramework/Panel/Base/View/BaseView_Anim.cs
vendored
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
3
UnityGame/Assets/Scripts/ThirdParty/YIUIFramework/Panel/Base/View/BaseView_Anim.cs.meta
vendored
Normal file
3
UnityGame/Assets/Scripts/ThirdParty/YIUIFramework/Panel/Base/View/BaseView_Anim.cs.meta
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d10269ae02e548d393b7683b30b9d806
|
||||
timeCreated: 1684119736
|
||||
18
UnityGame/Assets/Scripts/ThirdParty/YIUIFramework/Panel/Base/View/BaseView_Close.cs
vendored
Normal file
18
UnityGame/Assets/Scripts/ThirdParty/YIUIFramework/Panel/Base/View/BaseView_Close.cs
vendored
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
3
UnityGame/Assets/Scripts/ThirdParty/YIUIFramework/Panel/Base/View/BaseView_Close.cs.meta
vendored
Normal file
3
UnityGame/Assets/Scripts/ThirdParty/YIUIFramework/Panel/Base/View/BaseView_Close.cs.meta
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5487f84a0fa4482dab277c0ee07f415c
|
||||
timeCreated: 1684119708
|
||||
239
UnityGame/Assets/Scripts/ThirdParty/YIUIFramework/Panel/Base/View/BaseView_Open.cs
vendored
Normal file
239
UnityGame/Assets/Scripts/ThirdParty/YIUIFramework/Panel/Base/View/BaseView_Open.cs
vendored
Normal 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
|
||||
}
|
||||
}
|
||||
3
UnityGame/Assets/Scripts/ThirdParty/YIUIFramework/Panel/Base/View/BaseView_Open.cs.meta
vendored
Normal file
3
UnityGame/Assets/Scripts/ThirdParty/YIUIFramework/Panel/Base/View/BaseView_Open.cs.meta
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 98d98381684a42899a63542d7d213fa6
|
||||
timeCreated: 1683797215
|
||||
Reference in New Issue
Block a user