1
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UIElements;
|
||||
|
||||
namespace MuHua {
|
||||
/// <summary>
|
||||
/// 页面单例
|
||||
/// </summary>
|
||||
public abstract class ModuleUISingle<Single> : MonoBehaviour where Single : ModuleUISingle<Single> {
|
||||
/// <summary> 模块单例 </summary>
|
||||
public static Single I => instance;
|
||||
/// <summary> 模块单例 </summary>
|
||||
protected static Single instance;
|
||||
/// <summary> 初始化 </summary>
|
||||
protected abstract void Awake();
|
||||
|
||||
/// <summary> 绑定文档 </summary>
|
||||
public UIDocument document;
|
||||
/// <summary> 根目录文档 </summary>
|
||||
public VisualElement root => document.rootVisualElement;
|
||||
/// <summary> 绑定文档 </summary>
|
||||
public abstract VisualElement Element { get; }
|
||||
/// <summary> 添加UI元素 </summary>
|
||||
public void Add(VisualElement child) => Element.Add(child);
|
||||
/// <summary> 查询UI元素 </summary>
|
||||
public T Q<T>(string name = null, string className = null) where T : VisualElement => Element.Q<T>(name, className);
|
||||
|
||||
/// <summary> 替换,并且设置切换场景不销毁 </summary>
|
||||
protected virtual void Replace(bool isDontDestroy = true) {
|
||||
if (instance != null) { Destroy(instance.gameObject); }
|
||||
instance = (Single)this;
|
||||
if (isDontDestroy) { DontDestroyOnLoad(gameObject); }
|
||||
}
|
||||
/// <summary> 不替换,并且设置切换场景不销毁 </summary>
|
||||
protected virtual void NoReplace(bool isDontDestroy = true) {
|
||||
if (isDontDestroy) { DontDestroyOnLoad(gameObject); }
|
||||
if (instance == null) { instance = (Single)this; }
|
||||
else { Destroy(gameObject); }
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c2b0340184fec6c45815d13d6a1f7321
|
||||
guid: 6a88fdbff78494947b294cfa1754abb4
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
@@ -9,5 +9,7 @@ namespace MuHua {
|
||||
public interface UIControl {
|
||||
/// <summary> 更新UI状态 </summary>
|
||||
public void Update();
|
||||
/// <summary> 解除UI绑定 </summary>
|
||||
public void Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace MuHua {
|
||||
/// <summary>
|
||||
/// 方向
|
||||
/// </summary>
|
||||
[Obsolete("使用类内置的 UIDirection")]
|
||||
public enum UIDirection {
|
||||
FromLeftToRight = 0,
|
||||
FromRightToLeft = 1,
|
||||
FromTopToBottom = 2,
|
||||
FromBottomToTop = 3,
|
||||
|
||||
HorizontalAndVertical = 4,
|
||||
Horizontal = 5,
|
||||
Vertical = 6,
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,7 @@ namespace MuHua {
|
||||
/// <summary>
|
||||
/// 下拉框
|
||||
/// </summary>
|
||||
public class UIDropdown<T> : ModuleUIPanel, IDisposable, UIControl {
|
||||
public class UIDropdown<T> : ModuleUIPanel, UIControl {
|
||||
/// <summary> 绑定的画布 </summary>
|
||||
internal readonly VisualElement canvas;
|
||||
/// <summary> 下拉框容器 </summary>
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace MuHua {
|
||||
/// <summary>
|
||||
/// 滚动视图
|
||||
/// </summary>
|
||||
public class UIScrollView : ModuleUIPanel, IDisposable, UIControl {
|
||||
public class UIScrollView : ModuleUIPanel, UIControl {
|
||||
/// <summary> 绑定的画布 </summary>
|
||||
public readonly VisualElement canvas;
|
||||
/// <summary> 水平滑块 </summary>
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace MuHua {
|
||||
/// <summary>
|
||||
/// 滚动视图 - 水平
|
||||
/// </summary>
|
||||
public class UIScrollViewH : ModuleUIPanel, IDisposable, UIControl {
|
||||
public class UIScrollViewH : ModuleUIPanel, UIControl {
|
||||
/// <summary> 绑定的画布 </summary>
|
||||
public readonly VisualElement canvas;
|
||||
/// <summary> 元素方向 </summary>
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace MuHua {
|
||||
/// <summary>
|
||||
/// 滚动视图 - 垂直
|
||||
/// </summary>
|
||||
public class UIScrollViewV : ModuleUIPanel, IDisposable, UIControl {
|
||||
public class UIScrollViewV : ModuleUIPanel, UIControl {
|
||||
/// <summary> 绑定的画布 </summary>
|
||||
public readonly VisualElement canvas;
|
||||
/// <summary> 元素方向 </summary>
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace MuHua {
|
||||
/// <summary>
|
||||
/// 滚动条 - 水平
|
||||
/// </summary>
|
||||
public class UIScrollerH : ModuleUIPanel, IDisposable, UIControl {
|
||||
public class UIScrollerH : ModuleUIPanel, UIControl {
|
||||
/// <summary> 绑定的画布 </summary>
|
||||
public readonly VisualElement canvas;
|
||||
/// <summary> 元素方向 </summary>
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace MuHua {
|
||||
/// <summary>
|
||||
/// 滚动条 - 垂直
|
||||
/// </summary>
|
||||
public class UIScrollerV : ModuleUIPanel, IDisposable, UIControl {
|
||||
public class UIScrollerV : ModuleUIPanel, UIControl {
|
||||
/// <summary> 绑定的画布 </summary>
|
||||
public readonly VisualElement canvas;
|
||||
/// <summary> 元素方向 </summary>
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace MuHua {
|
||||
/// <summary>
|
||||
/// 滑块 - 水平
|
||||
/// </summary>
|
||||
public class UISliderH : ModuleUIPanel, IDisposable, UIControl {
|
||||
public class UISliderH : ModuleUIPanel, UIControl {
|
||||
/// <summary> 绑定的画布 </summary>
|
||||
public readonly VisualElement canvas;
|
||||
/// <summary> 元素方向 </summary>
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace MuHua {
|
||||
/// <summary>
|
||||
/// 滑块 - 垂直
|
||||
/// </summary>
|
||||
public class UISliderV : ModuleUIPanel, IDisposable, UIControl {
|
||||
public class UISliderV : ModuleUIPanel, UIControl {
|
||||
/// <summary> 绑定的画布 </summary>
|
||||
public readonly VisualElement canvas;
|
||||
/// <summary> 元素方向 </summary>
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace MuHua {
|
||||
/// <summary>
|
||||
/// 悬浮窗口
|
||||
/// </summary>
|
||||
public abstract class UIWindow : ModuleUIPanel, IDisposable, UIControl {
|
||||
public abstract class UIWindow : ModuleUIPanel, UIControl {
|
||||
/// <summary> 绑定的画布 </summary>
|
||||
public readonly VisualElement canvas;
|
||||
/// <summary> 隐藏的USS类名 </summary>
|
||||
|
||||
Reference in New Issue
Block a user