角色详情界面 修复进入快速退出时的错误显示
parent
5d77d30735
commit
5591c75d4d
|
|
@ -373,15 +373,15 @@ public partial class UIManager : Singlenton<UIManager>, IInitable, IUpdatable
|
|||
return window;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//展示全部已加载的NormalUI
|
||||
public void OpenLoadedNormalUI(string uiName)
|
||||
public void OpenLoadedNormalUI(string uiName, object data = null)
|
||||
{
|
||||
WindowInfo wInfo;
|
||||
wInfo = _windowsInfo[uiName];
|
||||
if (mMemoryWindows.ContainsKey(uiName))
|
||||
if (mMemoryWindows.ContainsKey(uiName))
|
||||
{
|
||||
mMemoryWindows[uiName].CreateWindow(null, wInfo.NotSetMainCamera);
|
||||
mMemoryWindows[uiName].CreateWindow(data, wInfo.NotSetMainCamera);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -118,11 +118,25 @@ public class UI_CultivateController : UIWindow
|
|||
}
|
||||
public enum UILeftCharanterUIType
|
||||
{
|
||||
/// <summary>
|
||||
/// 角色基础属性
|
||||
/// </summary>
|
||||
EbaseAttri,
|
||||
/// <summary>
|
||||
/// 角色详细属性
|
||||
/// </summary>
|
||||
EDetailInfo,
|
||||
|
||||
}
|
||||
public override async void PreLoad(object data = null)
|
||||
{
|
||||
base.PreLoad(data);
|
||||
|
||||
#region 子UI预加载
|
||||
proAndInfoWindow = await UIManager.Instance.LoadWindow(UINameConst.UI_Cultivate_ProAndInfo) as UI_Cultivate_ProAndInfoController;
|
||||
detailWindow = await UIManager.Instance.LoadWindow(UINameConst.UI_Cultivate_Detail) as UI_Cultivate_DetailController;
|
||||
#endregion
|
||||
}
|
||||
|
||||
public override void OnInit()
|
||||
{
|
||||
|
|
@ -297,7 +311,7 @@ public class UI_CultivateController : UIWindow
|
|||
Image_RankLevelObj.SetActive(false);
|
||||
UI_Cultivate_ActSkObj.SetActive(false);
|
||||
FindObj("Image_BG/Image_NameInfo").SetActive(false);
|
||||
|
||||
await UniTask.Delay(1000);
|
||||
await WaitTimeForFx();
|
||||
//StartCoroutine(_coroutine);
|
||||
|
||||
|
|
@ -305,8 +319,7 @@ public class UI_CultivateController : UIWindow
|
|||
|
||||
private async UniTask WaitTimeForFx()
|
||||
{
|
||||
await UniTask.Delay(1000);
|
||||
if (!gameObject)
|
||||
if (!IsShow())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -333,10 +346,15 @@ public class UI_CultivateController : UIWindow
|
|||
Button_Look.gameObject.SetActive(true);
|
||||
Button_ChangeSuit.gameObject.SetActive(true);
|
||||
|
||||
while (animator.GetCurrentAnimatorStateInfo(0).normalizedTime < 1f)
|
||||
while (animator != null && animator.GetCurrentAnimatorStateInfo(0).normalizedTime < 1f)
|
||||
{
|
||||
await UniTask.Yield();
|
||||
}
|
||||
if (animator == null)
|
||||
{
|
||||
DebugUtil.LogWarning("animator is null! 可能是由于动画未完成提前关闭了界面导致");
|
||||
return;
|
||||
}
|
||||
|
||||
EventManager.Instance.Send(EventManager.EventName.UIOpenAndAnim, WindowName);
|
||||
}
|
||||
|
|
@ -371,10 +389,8 @@ public class UI_CultivateController : UIWindow
|
|||
//{
|
||||
// return fingerUpPosition.x - fingerDownPosition.x > 50f; // 调整阈值以适应您的需求
|
||||
//}
|
||||
private async void OnButton_BackClick()
|
||||
private void OnButton_BackClick()
|
||||
{
|
||||
CloseCurOpenChildUI();
|
||||
|
||||
//UIManager.Instance.CloseWindow(UINameConst.UI_Cultivate);
|
||||
CloseWindow();
|
||||
// UIWindow uIWindow= UIManager.Instance.PopWindow();
|
||||
|
|
@ -385,9 +401,14 @@ public class UI_CultivateController : UIWindow
|
|||
{
|
||||
UIManager.Instance.CloseAllNormalExcept(UINameConst.UI_MainPanel);
|
||||
}
|
||||
void CloseCurOpenChildUI()
|
||||
/// <summary>
|
||||
/// 关闭预加载的子UI
|
||||
/// </summary>
|
||||
void ClosePreloadChildUI()
|
||||
{
|
||||
CloseLeftCurChildUI();
|
||||
//CloseLeftCurChildUI();
|
||||
UIManager.Instance.CloseWindow(UINameConst.UI_Cultivate_ProAndInfo);
|
||||
UIManager.Instance.CloseWindow(UINameConst.UI_Cultivate_Detail);
|
||||
}
|
||||
private void RegisterEvent()
|
||||
{
|
||||
|
|
@ -510,7 +531,11 @@ public class UI_CultivateController : UIWindow
|
|||
public override void OnRelease()
|
||||
{
|
||||
base.OnRelease();
|
||||
|
||||
|
||||
#region 释放预加载
|
||||
ClosePreloadChildUI();
|
||||
#endregion
|
||||
|
||||
UnRegisterEvent();
|
||||
}
|
||||
|
||||
|
|
@ -1081,15 +1106,18 @@ public class UI_CultivateController : UIWindow
|
|||
}
|
||||
|
||||
|
||||
async void OpenLeftChildUI(UILeftCharanterUIType uIChracterType)
|
||||
void OpenLeftChildUI(UILeftCharanterUIType uIChracterType)//async
|
||||
{
|
||||
switch (uIChracterType)
|
||||
{
|
||||
case UILeftCharanterUIType.EbaseAttri:
|
||||
proAndInfoWindow = await UIManager.Instance.CreateAndOpenWindow(UINameConst.UI_Cultivate_ProAndInfo, mCurCharaData) as UI_Cultivate_ProAndInfoController;
|
||||
UIManager.Instance.OpenLoadedNormalUI(UINameConst.UI_Cultivate_ProAndInfo, mCurCharaData);
|
||||
//proAndInfoWindow = await UIManager.Instance.CreateAndOpenWindow(UINameConst.UI_Cultivate_ProAndInfo, mCurCharaData) as UI_Cultivate_ProAndInfoController;
|
||||
break;
|
||||
case UILeftCharanterUIType.EDetailInfo:
|
||||
detailWindow = await UIManager.Instance.CreateAndOpenWindow(UINameConst.UI_Cultivate_Detail, mCurCharaData) as UI_Cultivate_DetailController;
|
||||
UIManager.Instance.OpenLoadedNormalUI(UINameConst.UI_Cultivate_Detail, mCurCharaData);
|
||||
//
|
||||
//detailWindow = await UIManager.Instance.CreateAndOpenWindow(UINameConst.UI_Cultivate_Detail, mCurCharaData) as UI_Cultivate_DetailController;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
@ -1104,10 +1132,12 @@ public class UI_CultivateController : UIWindow
|
|||
switch (mCurLeftUICharacterType)
|
||||
{
|
||||
case UILeftCharanterUIType.EbaseAttri:
|
||||
UIManager.Instance.CloseWindow(UINameConst.UI_Cultivate_ProAndInfo);
|
||||
proAndInfoWindow.Hide();
|
||||
//UIManager.Instance.CloseWindow(UINameConst.UI_Cultivate_ProAndInfo);
|
||||
break;
|
||||
case UILeftCharanterUIType.EDetailInfo:
|
||||
UIManager.Instance.CloseWindow(UINameConst.UI_Cultivate_Detail);
|
||||
detailWindow.Hide();
|
||||
//UIManager.Instance.CloseWindow(UINameConst.UI_Cultivate_Detail);
|
||||
break;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -167,6 +167,14 @@ public class UI_Cultivate_DetailController : UIWindow
|
|||
RefreshInfos();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 隐藏Window
|
||||
/// </summary>
|
||||
public void Hide()
|
||||
{
|
||||
UIManager.Instance.Hide(WindowName);
|
||||
}
|
||||
|
||||
private void UnRegisterEvent()
|
||||
{
|
||||
EventManager.Instance.Unregister(EventManager.EventName.EN_CharacterLevelUp, (Action<UpgradeType>)OnCharacterLevelup);
|
||||
|
|
|
|||
|
|
@ -238,6 +238,14 @@ public class UI_Cultivate_ProAndInfoController : UIWindow
|
|||
EventManager.Instance.Send(EventManager.EventName.EN_ShowAllCharacterFavorableUI);
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 隐藏Window
|
||||
/// </summary>
|
||||
public void Hide()
|
||||
{
|
||||
UIManager.Instance.Hide(WindowName);
|
||||
}
|
||||
//invoke when open window
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -418,7 +418,7 @@ public class UI_StartGameInterfaceController : UIWindow
|
|||
#else
|
||||
//使用账号登录界面
|
||||
curShownWindow = debugLoginWindow;
|
||||
if (Debug.isDebugBuild)
|
||||
if (Debug.isDebugBuild)//测试环境
|
||||
{
|
||||
if (loginSaveData.LoginByPhone)
|
||||
{
|
||||
|
|
@ -428,7 +428,7 @@ public class UI_StartGameInterfaceController : UIWindow
|
|||
{
|
||||
SetLoginType(LoginType.Account);
|
||||
}
|
||||
if (loginSaveData.LoginByAccount && loginSaveData.rememberPassword && LoginController.Instance.AutoLogin)
|
||||
if (loginSaveData.LoginByAccount && loginSaveData.rememberPassword && LoginController.Instance.AutoLogin)//保存有数据且为初次登录时尝试自动登录
|
||||
{
|
||||
DebugUtil.Log("已有账号密码,自动登录");
|
||||
LoginAction();
|
||||
|
|
|
|||
Loading…
Reference in New Issue