【UI重构】提交UI堆栈修改
parent
b160fda600
commit
495b0318f5
|
|
@ -130,6 +130,7 @@
|
|||
DebugHeadRoleID,
|
||||
HideAllUIExcept,
|
||||
ShowAllUIHiden,
|
||||
ClearUIStack,
|
||||
|
||||
//Data
|
||||
AllConfigLoad,
|
||||
|
|
|
|||
|
|
@ -12,10 +12,17 @@ public enum UIWindowLayer
|
|||
Max //最高层级
|
||||
}
|
||||
|
||||
public enum UIOpenType
|
||||
{
|
||||
FullScreen,
|
||||
Pop
|
||||
}
|
||||
|
||||
public enum UIWindowCloseType
|
||||
{
|
||||
OnlyHide,
|
||||
HideAndDestroy,
|
||||
HideAndPush,
|
||||
ForceDestroy,
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,62 @@
|
|||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Cysharp.Threading.Tasks;
|
||||
|
||||
public partial class UIManager
|
||||
{
|
||||
private Stack<UIWindow> _uiWindowStack = new Stack<UIWindow>(8);
|
||||
private List<UIWindow> _uiWindowStack = new List<UIWindow>(8);
|
||||
public List<UIWindow> UiWindowStack => _uiWindowStack;
|
||||
|
||||
#region StackAPI
|
||||
|
||||
public bool CheckIsWindowInStack(UIWindow window)
|
||||
{
|
||||
if (_uiWindowStack.Contains(window))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public UIWindow GetLast()
|
||||
{
|
||||
if (_uiWindowStack.Count > 0)
|
||||
{
|
||||
return _uiWindowStack.Last();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public UIWindow GetLastFullScreen()
|
||||
{
|
||||
if (_uiWindowStack.Count > 0)
|
||||
{
|
||||
for (int i = _uiWindowStack.Count - 1; i >= 0; i--)
|
||||
{
|
||||
if (CheckWindowIsFullScreen(_uiWindowStack[i]))
|
||||
{
|
||||
return _uiWindowStack[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public void PushWindow(UIWindow window)
|
||||
{
|
||||
if (window)
|
||||
{
|
||||
_uiWindowStack.Push(window);
|
||||
if (_uiWindowStack.Contains(window))
|
||||
{
|
||||
DebugUtil.LogError($"{window.WindowName} exists in UIWindowStack!!!");
|
||||
return;
|
||||
}
|
||||
_uiWindowStack.Add(window);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -19,7 +64,9 @@
|
|||
{
|
||||
if (_uiWindowStack.Count > 0)
|
||||
{
|
||||
return _uiWindowStack.Pop();
|
||||
var window = _uiWindowStack.Last();
|
||||
_uiWindowStack.Remove(window);
|
||||
return window;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
@ -28,19 +75,33 @@
|
|||
{
|
||||
if (_uiWindowStack.Count > 0)
|
||||
{
|
||||
var window = _uiWindowStack.Peek();
|
||||
var window = _uiWindowStack.Last();
|
||||
if (string.IsNullOrEmpty(checkWindowName) || checkWindowName.Equals(window.WindowName))
|
||||
{
|
||||
return _uiWindowStack.Pop();
|
||||
_uiWindowStack.Remove(window);
|
||||
return window;;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public void ForceRemoveWindow(UIWindow window)
|
||||
{
|
||||
if (_uiWindowStack.Contains(window))
|
||||
{
|
||||
_uiWindowStack.Remove(window);
|
||||
}
|
||||
}
|
||||
|
||||
public void ClearHideStack()
|
||||
{
|
||||
for(int i = 0; i < _uiWindowStack.Count; i++)
|
||||
{
|
||||
_uiWindowStack[i].CloseWindow(UIWindowCloseType.ForceDestroy);
|
||||
}
|
||||
_uiWindowStack.Clear();
|
||||
}
|
||||
#endregion
|
||||
|
||||
public static async UniTask<UIWindow> AnimSwitchWindow(UIWindow hideWindow, UIWindowCloseType closeType, string showWindowName, object data = null)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,23 +2,25 @@
|
|||
|
||||
public partial class UIManager
|
||||
{
|
||||
struct WindowInfo
|
||||
public struct WindowInfo
|
||||
{
|
||||
public UIWindowLayer windowLayer;
|
||||
public UIOpenType UIOpenType;
|
||||
}
|
||||
|
||||
private Dictionary<string, WindowInfo> _windowsInfo = new Dictionary<string, WindowInfo>(64);
|
||||
public Dictionary<string, WindowInfo> WindowInfos => _windowsInfo;
|
||||
|
||||
private void _AllWindowMeta()
|
||||
{
|
||||
_WindowMeta(UINameConst.UIDebugShowID, UIWindowLayer.Normal);
|
||||
// basic
|
||||
_WindowMeta(UINameConst.UILogin,UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UILogin,UIWindowLayer.ForeGround);
|
||||
_WindowMeta(UINameConst.UITeamFight, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UI_StartBtn_CMSBtn, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UISelectCharacter, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UISelectCharacter, UIWindowLayer.Normal, UIOpenType.FullScreen);
|
||||
_WindowMeta(UINameConst.UIShowAllCharacterSort, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UI_Cultivate, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UI_Cultivate, UIWindowLayer.Normal, UIOpenType.FullScreen);
|
||||
_WindowMeta(UINameConst.UI_Cultivate_ProAndInfo, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UI_Cultivate_Detail, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UIFightClock, UIWindowLayer.Normal);
|
||||
|
|
@ -35,20 +37,20 @@ public partial class UIManager
|
|||
_WindowMeta(UINameConst.UIAdvance, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UISkill_LevelUp, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UIRedPointTest, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UITeamChoose, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UITeamInfo, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UITeamChoose, UIWindowLayer.Normal, UIOpenType.FullScreen);
|
||||
_WindowMeta(UINameConst.UITeamInfo, UIWindowLayer.Normal, UIOpenType.FullScreen);
|
||||
_WindowMeta(UINameConst.UIRaffleResult,UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UINormalRaffle, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UIStoryMain, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UINewLogin, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UIGiftCode, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UI_MainPanel, UIWindowLayer.BackGround);
|
||||
_WindowMeta(UINameConst.UI_LevelSelect,UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UI_BeforeFight,UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UI_LevelSelect,UIWindowLayer.Normal, UIOpenType.FullScreen);
|
||||
_WindowMeta(UINameConst.UI_BeforeFight,UIWindowLayer.Normal, UIOpenType.FullScreen);
|
||||
_WindowMeta(UINameConst.UI_Setting,UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UI_Notice, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UI_VehicleChoose, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UI_VehicleCultivate, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UI_VehicleChoose, UIWindowLayer.Normal, UIOpenType.FullScreen);
|
||||
_WindowMeta(UINameConst.UI_VehicleCultivate, UIWindowLayer.Normal, UIOpenType.FullScreen);
|
||||
_WindowMeta(UINameConst.UI_VehicleLevelUp, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UI_Update, UIWindowLayer.Tips);
|
||||
_WindowMeta(UINameConst.UI_LogIn, UIWindowLayer.Normal);
|
||||
|
|
@ -60,10 +62,10 @@ public partial class UIManager
|
|||
_WindowMeta(UINameConst.UIBackReturn, UIWindowLayer.Waiting);
|
||||
_WindowMeta(UINameConst.UI_Email, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UIGiftCodeAwards, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UITask, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UITask, UIWindowLayer.Normal, UIOpenType.FullScreen);
|
||||
_WindowMeta(UINameConst.UI_CameraChange, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UI_PVPDefendPrepare, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UI_Shop, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UI_Shop, UIWindowLayer.Normal, UIOpenType.FullScreen);
|
||||
_WindowMeta(UINameConst.UI_Purchase, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UI_GetItemWindow, UIWindowLayer.Normal);
|
||||
_WindowMeta(UINameConst.UINoticeOne, UIWindowLayer.Tips);
|
||||
|
|
@ -76,9 +78,9 @@ public partial class UIManager
|
|||
}
|
||||
|
||||
|
||||
private void _WindowMeta(string name, UIWindowLayer windowLayer)
|
||||
private void _WindowMeta(string name, UIWindowLayer windowLayer, UIOpenType uiOpenType = UIOpenType.Pop)
|
||||
{
|
||||
_windowsInfo.Add(name, new WindowInfo {windowLayer = windowLayer });
|
||||
_windowsInfo.Add(name, new WindowInfo {windowLayer = windowLayer, UIOpenType = uiOpenType});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ public partial class UIManager : Singlenton<UIManager>, IInitable
|
|||
private Dictionary<string, string> _openingWindows = new Dictionary<string, string>();
|
||||
|
||||
private List<UIWindow> _hideCache = new List<UIWindow>();
|
||||
private UIWindow _curFullScreen;
|
||||
|
||||
public void Init()
|
||||
{
|
||||
|
|
@ -30,6 +31,7 @@ public partial class UIManager : Singlenton<UIManager>, IInitable
|
|||
EventManager.Instance.Register(EventManager.EventName.Android_Click_Back, _OnAndroidClickBack);
|
||||
EventManager.Instance.Register(EventManager.EventName.HideAllUIExcept, (Action<string[]>)_OnHideAllUIExcept);
|
||||
EventManager.Instance.Register(EventManager.EventName.ShowAllUIHiden, _OnShowAllUIHiden);
|
||||
EventManager.Instance.Register(EventManager.EventName.ClearUIStack, ClearHideStack);
|
||||
}
|
||||
|
||||
public void Release()
|
||||
|
|
@ -37,8 +39,10 @@ public partial class UIManager : Singlenton<UIManager>, IInitable
|
|||
EventManager.Instance.Unregister(EventManager.EventName.Android_Click_Back, _OnAndroidClickBack);
|
||||
EventManager.Instance.Unregister(EventManager.EventName.HideAllUIExcept, (Action<string[]>)_OnHideAllUIExcept);
|
||||
EventManager.Instance.Unregister(EventManager.EventName.ShowAllUIHiden, _OnShowAllUIHiden);
|
||||
EventManager.Instance.Unregister(EventManager.EventName.ClearUIStack, ClearHideStack);
|
||||
}
|
||||
|
||||
#region OpenWindowAPI
|
||||
/// <summary>
|
||||
/// 打开一个UI
|
||||
/// UIManager.Instance.OpenWindow("Common/GameUI")
|
||||
|
|
@ -50,15 +54,35 @@ public partial class UIManager : Singlenton<UIManager>, IInitable
|
|||
var window = await _LoadWindow(path, true);
|
||||
if (window)
|
||||
{
|
||||
window.PreLoad(data);
|
||||
if (window.uiWindowLayer == UIWindowLayer.Normal)
|
||||
{
|
||||
if (CheckWindowIsFullScreen(window))
|
||||
{
|
||||
int idx = _uiWindowStack.Count - 1;
|
||||
while (idx >= 0)
|
||||
{
|
||||
var latestWindow = _uiWindowStack[idx--];
|
||||
latestWindow.CloseWindow(UIWindowCloseType.HideAndPush);
|
||||
if (CheckWindowIsFullScreen(latestWindow))
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
window.OpenWindow(data);
|
||||
|
||||
if (window.uiWindowLayer == UIWindowLayer.Normal)
|
||||
{
|
||||
PushWindow(window);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return window;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public bool Back()
|
||||
{
|
||||
return false;
|
||||
|
|
@ -78,7 +102,7 @@ public partial class UIManager : Singlenton<UIManager>, IInitable
|
|||
return result;
|
||||
}
|
||||
|
||||
public void CloseWindow(string wName, UIWindowCloseType closeType = UIWindowCloseType.OnlyHide)
|
||||
public void CloseWindow(string wName, UIWindowCloseType closeType = UIWindowCloseType.HideAndDestroy)
|
||||
{
|
||||
var window = GetOpenedWindowByPath<UIWindow>(wName);
|
||||
if (window)
|
||||
|
|
@ -329,6 +353,7 @@ public partial class UIManager : Singlenton<UIManager>, IInitable
|
|||
ClearHideStack();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
public void HideAllUI(params string[] exceptions)
|
||||
{
|
||||
|
|
@ -472,7 +497,18 @@ public partial class UIManager : Singlenton<UIManager>, IInitable
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
public bool CheckWindowIsFullScreen(UIWindow window)
|
||||
{
|
||||
if (_windowsInfo.TryGetValue(window.WindowName, out var windowInfo))
|
||||
{
|
||||
if (windowInfo.UIOpenType == UIOpenType.FullScreen)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private async void _OnAndroidClickBack()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -33,17 +33,13 @@ public abstract class UIWindow : MonoBehaviour
|
|||
[HideInInspector]
|
||||
private bool isOpen = false;
|
||||
|
||||
private bool _isHideAndPush = false;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
//OnInit();
|
||||
}
|
||||
|
||||
//预加载,可以进行赋值,不能添加监听
|
||||
public void PreLoad(object data = null)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void OnStart()
|
||||
{
|
||||
_lastOrientation = Screen.orientation;
|
||||
|
|
@ -67,6 +63,7 @@ public abstract class UIWindow : MonoBehaviour
|
|||
}
|
||||
}
|
||||
|
||||
#region #ScreenAdaption
|
||||
/// <summary>
|
||||
/// 屏幕适配,目前方案是左右固定名称的节点下的各个物体需要适配,其他的不管
|
||||
/// </summary>
|
||||
|
|
@ -114,11 +111,18 @@ public abstract class UIWindow : MonoBehaviour
|
|||
SetScreenOffsets(new Vector2(_offsets.x, originPos.x - offset.y));
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public void OpenWindow(object data)
|
||||
public void OpenWindow(object data = null)
|
||||
{
|
||||
if (data != null)
|
||||
{
|
||||
PreLoad(data);
|
||||
}
|
||||
OnInit();
|
||||
Show(data);
|
||||
|
||||
if (isPlayDefaultOpenAudio)
|
||||
{
|
||||
//AudioManager3.Instance.PlaySound("");
|
||||
|
|
@ -136,7 +140,13 @@ public abstract class UIWindow : MonoBehaviour
|
|||
|
||||
if (closeType == UIWindowCloseType.HideAndDestroy)
|
||||
{
|
||||
Close();
|
||||
var last = UIManager.Instance.GetLast();
|
||||
if (last == this)
|
||||
{
|
||||
UIManager.Instance.PopWindow();
|
||||
}
|
||||
|
||||
_OnClose();
|
||||
Destroy();
|
||||
UIManager.Instance.RemoveWindow(mWindowName);
|
||||
}
|
||||
|
|
@ -144,13 +154,16 @@ public abstract class UIWindow : MonoBehaviour
|
|||
{
|
||||
Hide();
|
||||
}
|
||||
else
|
||||
else if(closeType == UIWindowCloseType.HideAndPush)
|
||||
{
|
||||
Hide();
|
||||
if (closeType == UIWindowCloseType.HideAndPush)
|
||||
{
|
||||
UIManager.Instance.PushWindow(this);
|
||||
}
|
||||
//UIManager.Instance.PushWindow(this);
|
||||
}
|
||||
else
|
||||
{
|
||||
//强制清除所有界面时使用
|
||||
Destroy();
|
||||
UIManager.Instance.RemoveWindow(mWindowName);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -216,12 +229,38 @@ public abstract class UIWindow : MonoBehaviour
|
|||
OnHide();
|
||||
}
|
||||
|
||||
private void Close()
|
||||
private void _OnClose()
|
||||
{
|
||||
if (isOpen)
|
||||
if (UIManager.Instance.UiWindowStack.Count <= 0)
|
||||
{
|
||||
isOpen = false;
|
||||
OnCloseWindow();
|
||||
return;
|
||||
}
|
||||
|
||||
if (UIManager.Instance.CheckWindowIsFullScreen(this))
|
||||
{
|
||||
var window = UIManager.Instance.GetLastFullScreen();
|
||||
|
||||
if (window && window != this)
|
||||
{
|
||||
if (UIManager.Instance.CheckIsWindowInStack(this))
|
||||
{
|
||||
UIManager.Instance.ForceRemoveWindow(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for (int i = UIManager.Instance.UiWindowStack.Count - 1; i >= 0; i--)
|
||||
{
|
||||
var latestWindow = UIManager.Instance.UiWindowStack[i];
|
||||
latestWindow.OpenWindow();
|
||||
|
||||
if (UIManager.Instance.CheckWindowIsFullScreen(latestWindow))
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
UIManager.Instance.ForceRemoveWindow(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -230,11 +269,20 @@ public abstract class UIWindow : MonoBehaviour
|
|||
if (isOpen)
|
||||
{
|
||||
OnCloseWindow();
|
||||
OnRelease();
|
||||
}
|
||||
isOpen = false;
|
||||
Destroy(gameObject);
|
||||
AssetManager.Instance.Unload(string.Format(UIManager.UI_PREFAB_PATH, mWindowName));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///预加载,传入参数,不能添加监听
|
||||
/// </summary>
|
||||
public virtual void PreLoad(object data = null)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 打开界面时调用
|
||||
|
|
@ -273,6 +321,12 @@ public abstract class UIWindow : MonoBehaviour
|
|||
/// </summary>
|
||||
public abstract void OnInit();
|
||||
|
||||
/// <summary>
|
||||
/// 对应OnInit,在销毁掉界面时调用
|
||||
/// </summary>
|
||||
public virtual void OnRelease(){}
|
||||
|
||||
#region #Bind Component
|
||||
public GameObject BindButton(string target, Action action, bool playAudio = true)
|
||||
{
|
||||
GameObject obj = transform.Find(target)?.gameObject;
|
||||
|
|
@ -463,7 +517,7 @@ public abstract class UIWindow : MonoBehaviour
|
|||
}
|
||||
return component;
|
||||
}
|
||||
|
||||
#endregion
|
||||
public void HideWindow(bool isOnlyHide = false)
|
||||
{
|
||||
Hide(isOnlyHide);
|
||||
|
|
@ -474,6 +528,7 @@ public abstract class UIWindow : MonoBehaviour
|
|||
ShowAgain();
|
||||
}
|
||||
|
||||
#region #Anim
|
||||
public async UniTask PlayAnimation(string name)
|
||||
{
|
||||
}
|
||||
|
|
@ -487,4 +542,5 @@ public abstract class UIWindow : MonoBehaviour
|
|||
{
|
||||
await PlayAnimation(DEFAULT_HIDE_ANIM);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
using System;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Framework;
|
||||
|
||||
namespace Gameplay
|
||||
{
|
||||
public class LoadingExecutorWithUILoadingController : LoadingExecutor
|
||||
|
|
@ -16,7 +18,8 @@ namespace Gameplay
|
|||
{
|
||||
_uiLoadingController.StartLoading(OnEnd);
|
||||
}
|
||||
|
||||
|
||||
EventManager.Instance.Send(EventManager.EventName.ClearUIStack);
|
||||
var result = await _DoLoading();
|
||||
|
||||
switch (result)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using Gameplay.Net;
|
||||
using System;
|
||||
using Gameplay.Net;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
|
|
@ -9,6 +10,11 @@ public class UILoginController : UIWindow
|
|||
private TMP_Dropdown dropdown;
|
||||
|
||||
public override void OnInit()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
|
||||
dropdown = GameObject.Find("Dropdown_LogIn").GetComponent<TMP_Dropdown>();
|
||||
|
|
@ -30,8 +36,6 @@ public class UILoginController : UIWindow
|
|||
|
||||
PlayerPrefs.SetInt("ServerIndex", value);
|
||||
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -87,9 +91,13 @@ public class UILoginController : UIWindow
|
|||
Gameplay.Net.Actor.Instance.StartLogin(NLDPB.LoginType.Phxh, _Input.text);
|
||||
}
|
||||
|
||||
|
||||
private void OnDestroy()
|
||||
public override void OnRelease()
|
||||
{
|
||||
// EventManager.Instance.Unregister(EventManager.EventName.NetLoginServerInfo, OnNameSend);
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -80,6 +80,21 @@ public class UISelectCharacterController : UIWindow
|
|||
ELikely,
|
||||
}
|
||||
|
||||
public override void PreLoad(object data = null)
|
||||
{
|
||||
base.PreLoad(data);
|
||||
|
||||
if (data != null)
|
||||
{
|
||||
var input = (InputData)data;
|
||||
_curOpenType = input.OpenType;
|
||||
if (_curOpenType == OpenType.EditTeam)
|
||||
{
|
||||
_curTeam = input.Data;
|
||||
_charIdx = input.Idx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override async void OnInit()
|
||||
{
|
||||
|
|
@ -145,9 +160,9 @@ public class UISelectCharacterController : UIWindow
|
|||
{
|
||||
//TeamEditManager.Instance.SaveTeam(_curTeam);
|
||||
EventManager.Instance.Send(EventManager.EventName.TeamModified, _curTeam.TeamIndex);
|
||||
var window = UIManager.Instance.PopWindow();
|
||||
await UIManager.AnimSwitchWindow(this, UIWindowCloseType.HideAndDestroy, window);
|
||||
window.ReloadWindow(_curTeam);
|
||||
// var window = UIManager.Instance.PopWindow();
|
||||
// await UIManager.AnimSwitchWindow(this, UIWindowCloseType.HideAndDestroy, window);
|
||||
//window.ReloadWindow(_curTeam);
|
||||
}
|
||||
CloseWindow();
|
||||
}
|
||||
|
|
@ -432,16 +447,6 @@ public class UISelectCharacterController : UIWindow
|
|||
|
||||
protected override void OnOpenWindow(object data = null)
|
||||
{
|
||||
if (data != null)
|
||||
{
|
||||
var input = (InputData)data;
|
||||
_curOpenType = input.OpenType;
|
||||
if (_curOpenType == OpenType.EditTeam)
|
||||
{
|
||||
_curTeam = input.Data;
|
||||
_charIdx = input.Idx;
|
||||
}
|
||||
}
|
||||
GetStorageData();
|
||||
PreLoadAllCharacter();
|
||||
RegisterEvent();
|
||||
|
|
@ -770,8 +775,8 @@ public class UISelectCharacterController : UIWindow
|
|||
CultivateStruct cultivateStruct = new CultivateStruct();
|
||||
cultivateStruct.showList = mShowList;
|
||||
cultivateStruct.info = info;
|
||||
await UIManager.AnimSwitchWindow(this, UIWindowCloseType.HideAndPush, UINameConst.UI_Cultivate, cultivateStruct);
|
||||
//await UIManager.Instance.OpenWindow(UINameConst.UI_Cultivate, cultivateStruct);
|
||||
//await UIManager.AnimSwitchWindow(this, UIWindowCloseType.HideAndPush, UINameConst.UI_Cultivate, cultivateStruct);
|
||||
await UIManager.Instance.OpenWindow(UINameConst.UI_Cultivate, cultivateStruct);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -866,12 +871,15 @@ public class UISelectCharacterController : UIWindow
|
|||
CommonUtils.GetGameObject(go, "Image_Poster").SetActive(false);
|
||||
CommonUtils.GetGameObject(go, "Image_Mask").SetActive(false);
|
||||
CommonUtils.GetGameObject(go, "Image_Clear").SetActive(true);
|
||||
|
||||
var imgBg = go.GetComponent<Image>();
|
||||
if (imgBg)
|
||||
{
|
||||
var originColor = imgBg.color;
|
||||
imgBg.color = new Color(originColor.r, originColor.g, originColor.b, 0);
|
||||
}
|
||||
|
||||
CommonUtils.GetGameObject(go, "DebugID").SetActive(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -913,7 +921,7 @@ public class UISelectCharacterController : UIWindow
|
|||
{
|
||||
ClearBind(CommonUtils.GetGameObject(singleObj, "Image_Poster"));
|
||||
var go = CommonUtils.GetGameObject(singleObj, "Image_Clear");
|
||||
if (go != null && go.activeInHierarchy)
|
||||
if (go != null)
|
||||
{
|
||||
ClearBind(CommonUtils.GetGameObject(singleObj, "Image_Clear"));
|
||||
BindButton<GameObject>(CommonUtils.GetGameObject(singleObj, "Image_Clear"), OnClickHeadClear, singleObj);
|
||||
|
|
|
|||
|
|
@ -347,8 +347,8 @@ public class UI_CultivateController : UIWindow
|
|||
|
||||
//UIManager.Instance.CloseWindow(UINameConst.UI_Cultivate);
|
||||
CloseWindow();
|
||||
UIWindow uIWindow= UIManager.Instance.PopWindow();
|
||||
await UIManager.AnimSwitchWindow(this,UIWindowCloseType.HideAndDestroy,uIWindow,null);
|
||||
// UIWindow uIWindow= UIManager.Instance.PopWindow();
|
||||
// await UIManager.AnimSwitchWindow(this,UIWindowCloseType.HideAndDestroy,uIWindow,null);
|
||||
}
|
||||
|
||||
private void OnClickHome()
|
||||
|
|
|
|||
|
|
@ -346,11 +346,11 @@ public class UI_MissionPannelController : UIWindow
|
|||
|
||||
private async void _OnClickBack()
|
||||
{
|
||||
var window = UIManager.Instance.PopWindow();
|
||||
if (window)
|
||||
{
|
||||
await UIManager.AnimSwitchWindow(this, UIWindowCloseType.HideAndDestroy, window, null);
|
||||
}
|
||||
// var window = UIManager.Instance.PopWindow();
|
||||
// if (window)
|
||||
// {
|
||||
// await UIManager.AnimSwitchWindow(this, UIWindowCloseType.HideAndDestroy, window, null);
|
||||
// }
|
||||
|
||||
CloseWindow(UIWindowCloseType.HideAndDestroy);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ public class UI_TeamChooseController : UIWindow
|
|||
private void OnBackClick()
|
||||
{
|
||||
//OnBack();
|
||||
CloseWindow(UIWindowCloseType.OnlyHide);
|
||||
CloseWindow();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -265,9 +265,8 @@ public class UI_TeamChooseController : UIWindow
|
|||
_isLoadingNode = true;
|
||||
Team team = TeamEditManager.Instance.TeamList[idx];
|
||||
await TeamEditManager.Instance.LoadTeamPreviewNode(idx, UINameConst.UITeamInfo);
|
||||
await UIManager.AnimSwitchWindow(this, UIWindowCloseType.HideAndPush, UINameConst.UITeamInfo, team);
|
||||
_isLoadingNode = false;
|
||||
//await UIManager.Instance.OpenWindow(UINameConst.UITeamInfo, team);
|
||||
await UIManager.Instance.OpenWindow(UINameConst.UITeamInfo, team);
|
||||
}
|
||||
|
||||
private void OnClickHome()
|
||||
|
|
|
|||
|
|
@ -104,7 +104,6 @@ public class UI_TeamInfoController : UIWindow
|
|||
if (data == null)
|
||||
{
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
EventManager.Instance.Register(EventManager.EventName.TeamUpdate, OnTeamUpdate);
|
||||
|
|
@ -152,10 +151,10 @@ public class UI_TeamInfoController : UIWindow
|
|||
|
||||
TeamEditManager.Instance.ReleaseTeamPreviewNode(UINameConst.UITeamInfo);
|
||||
|
||||
var window = UIManager.Instance.PopWindow(UINameConst.UITeamChoose);
|
||||
|
||||
await UIManager.AnimSwitchWindow(this, UIWindowCloseType.HideAndDestroy, window, null);
|
||||
|
||||
// var window = UIManager.Instance.PopWindow(UINameConst.UITeamChoose);
|
||||
//
|
||||
// await UIManager.AnimSwitchWindow(this, UIWindowCloseType.HideAndDestroy, window, null);
|
||||
CloseWindow();
|
||||
}
|
||||
|
||||
private void OnClickHome()
|
||||
|
|
@ -179,14 +178,14 @@ public class UI_TeamInfoController : UIWindow
|
|||
Data = _team,
|
||||
Idx = idx
|
||||
};
|
||||
await UIManager.AnimSwitchWindow(this, UIWindowCloseType.HideAndPush, UINameConst.UISelectCharacter, inputData);
|
||||
//await UIManager.Instance.OpenWindow(UINameConst.UISelectCharacter, inputData);
|
||||
//await UIManager.AnimSwitchWindow(this, UIWindowCloseType.HideAndPush, UINameConst.UISelectCharacter, inputData);
|
||||
await UIManager.Instance.OpenWindow(UINameConst.UISelectCharacter, inputData);
|
||||
}
|
||||
|
||||
private async void OnClickVehicle()
|
||||
{
|
||||
await UIManager.AnimSwitchWindow(this, UIWindowCloseType.HideAndPush, UINameConst.UI_VehicleChoose, _team);
|
||||
//await UIManager.Instance.OpenWindow(UINameConst.UI_VehicleChoose, _team);
|
||||
//await UIManager.AnimSwitchWindow(this, UIWindowCloseType.HideAndPush, UINameConst.UI_VehicleChoose, _team);
|
||||
await UIManager.Instance.OpenWindow(UINameConst.UI_VehicleChoose, _team);
|
||||
}
|
||||
|
||||
private async void OnVehicleChange(uint id)
|
||||
|
|
|
|||
|
|
@ -283,11 +283,11 @@ public class UI_VehicleChooseController : UIWindow
|
|||
}
|
||||
private void OnBackClick()
|
||||
{
|
||||
if (_curOpenType == OpenType.EditTeam)
|
||||
{
|
||||
BackInTeam();
|
||||
return;
|
||||
}
|
||||
// if (_curOpenType == OpenType.EditTeam)
|
||||
// {
|
||||
//BackInTeam();
|
||||
//return;
|
||||
//}
|
||||
CloseWindow();
|
||||
}
|
||||
|
||||
|
|
@ -295,9 +295,9 @@ public class UI_VehicleChooseController : UIWindow
|
|||
{
|
||||
if (_curOpenType == OpenType.EditTeam)
|
||||
{
|
||||
var window = UIManager.Instance.PopWindow();
|
||||
await UIManager.AnimSwitchWindow(this, UIWindowCloseType.HideAndDestroy, window);
|
||||
window.ReloadWindow(_curTeam);
|
||||
// var window = UIManager.Instance.PopWindow();
|
||||
// await UIManager.AnimSwitchWindow(this, UIWindowCloseType.HideAndDestroy, window);
|
||||
// window.ReloadWindow(_curTeam);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,8 +17,14 @@ public class @Name : UIWindow
|
|||
@File1
|
||||
///Auto Gen End///
|
||||
|
||||
// deal with input data
|
||||
public override void PreLoad(object data = null)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Use this for initialization
|
||||
public override void OnAwake()
|
||||
public override void OnInit()
|
||||
{
|
||||
//bind UI GameObj
|
||||
@BinderName.GetComponents(this);
|
||||
|
|
@ -41,4 +47,10 @@ public class @Name : UIWindow
|
|||
{
|
||||
|
||||
}
|
||||
|
||||
//invoke when destroy
|
||||
public override void OnRelease()
|
||||
{
|
||||
base.OnRelease();
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue