【UI重构】提交UI堆栈修改

main
chenyuqi 2024-01-24 15:42:01 +08:00
parent b160fda600
commit 495b0318f5
15 changed files with 285 additions and 93 deletions

View File

@ -130,6 +130,7 @@
DebugHeadRoleID,
HideAllUIExcept,
ShowAllUIHiden,
ClearUIStack,
//Data
AllConfigLoad,

View File

@ -12,10 +12,17 @@ public enum UIWindowLayer
Max //最高层级
}
public enum UIOpenType
{
FullScreen,
Pop
}
public enum UIWindowCloseType
{
OnlyHide,
HideAndDestroy,
HideAndPush,
ForceDestroy,
}

View File

@ -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)
{

View File

@ -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});
}
}

View File

@ -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()
{

View File

@ -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
}

View File

@ -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)

View File

@ -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()
{
}
}

View File

@ -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);

View File

@ -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()

View File

@ -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);
}

View File

@ -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()

View File

@ -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)

View File

@ -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);
}
}

View File

@ -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();
}
}