mirror of
http://47.107.252.169:3000/Roguelite-Game-Developing-Team/Gen_Hack-and-Slash-Roguelite.git
synced 2025-11-20 12:37:12 +08:00
(client) feat:添加基地界面到游玩界面的过程,添加存档管理,技能树变得可用 (#58)
Co-authored-by: m0_75251201 <m0_75251201@noreply.gitcode.com> Reviewed-on: http://47.107.252.169:3000/Roguelite-Game-Developing-Team/Gen_Hack-and-Slash-Roguelite/pulls/58
This commit is contained in:
@@ -40,6 +40,8 @@ namespace Base
|
||||
/// </summary>
|
||||
public int VisibleWindowCount => _visibleWindows.Count;
|
||||
|
||||
public bool HasWindowOpen => _visibleWindows.Any();
|
||||
|
||||
/// <summary>
|
||||
/// 查询指定名称的UI窗口是否当前可见。
|
||||
/// </summary>
|
||||
@@ -245,15 +247,20 @@ namespace Base
|
||||
private void UpdateVisibleWindowsCache()
|
||||
{
|
||||
_visibleWindows.Clear();
|
||||
foreach (var window in _allWindows)
|
||||
|
||||
var exclusiveWindow = _allWindows.FirstOrDefault(window => window && window.IsVisible && window.exclusive);
|
||||
|
||||
if (exclusiveWindow)
|
||||
{
|
||||
if (window && window.IsVisible)
|
||||
{
|
||||
_visibleWindows.Add(window);
|
||||
}
|
||||
_visibleWindows.Add(exclusiveWindow);
|
||||
}
|
||||
else
|
||||
{
|
||||
_visibleWindows.AddRange(_allWindows.Where(window => window && window.IsVisible));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 当脚本实例被销毁时调用。
|
||||
/// 用于在销毁时取消订阅场景加载事件,防止内存泄漏。
|
||||
@@ -283,6 +290,7 @@ namespace Base
|
||||
private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
|
||||
{
|
||||
RegisterAllWindows();
|
||||
Clock.AddTickUI(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user