修改框架

This commit is contained in:
MuHua-123
2025-01-14 21:19:26 +08:00
parent 35de23040f
commit 56672f2f14
10 changed files with 39 additions and 42 deletions
@@ -6,9 +6,11 @@ using UnityEngine.UIElements;
/// <summary>
/// UI控件
/// </summary>
public abstract class ModuleUIControl {
public class ModuleUIControl {
/// <summary> 核心模块 </summary>
protected virtual ModuleCore ModuleCore => ModuleCore.I;
/// <summary> 绑定的元素 </summary>
public readonly VisualElement element;
/// <summary> 基础实例 </summary>
/// <summary> UI控件 </summary>
public ModuleUIControl(VisualElement element) => this.element = element;
}
@@ -7,19 +7,16 @@ using UnityEngine.UIElements;
/// <summary>
/// UI项
/// </summary>
public abstract class ModuleUIItem<Data> {
public abstract class ModuleUIItem<Data> : ModuleUIControl {
/// <summary> 绑定的数据 </summary>
public readonly Data value;
/// <summary> 绑定的元素 </summary>
public readonly VisualElement element;
/// <summary> 基础实例 </summary>
public ModuleUIItem(Data value, VisualElement element) {
/// <summary> UI项 </summary>
public ModuleUIItem(Data value, VisualElement element) : base(element) {
this.value = value;
this.element = element;
OnSelect += UIItem_OnSelect;
OnSelect += UnitUIPanelItem_OnSelect;
}
/// <summary> 侦听选择事件 </summary>
public virtual void UIItem_OnSelect(Data obj) {
public virtual void UnitUIPanelItem_OnSelect(Data obj) {
if (value.Equals(obj)) { SelectState(); }
else { DefaultState(); }
}
@@ -35,5 +32,5 @@ public abstract class ModuleUIItem<Data> {
/// <summary> 选中状态 </summary>
public virtual void SelectState() { }
/// <summary> 释放 </summary>
public virtual void Release() => OnSelect -= UIItem_OnSelect;
public virtual void Release() => OnSelect -= UnitUIPanelItem_OnSelect;
}
@@ -6,11 +6,12 @@ using UnityEngine.UIElements;
/// <summary>
/// UI页面
/// </summary>
public abstract class ModuleUIPage : ModuleSingle<ModuleUIPage> {
/// <summary> 文档 </summary>
public abstract class ModuleUIPage : MonoBehaviour {
public UIDocument document;
/// <summary> 根目录 </summary>
/// <summary> 根目录文档 </summary>
public VisualElement root => document.rootVisualElement;
/// <summary> 核心模块 </summary>
protected virtual ModuleCore ModuleCore => ModuleCore.I;
/// <summary> 添加UI元素 </summary>
public void Add(VisualElement child) => root.Add(child);
/// <summary> 查询UI元素 </summary>
@@ -1,14 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class UIGlobalPage : ModuleUIPage {
protected override void Awake() { }
private void Start() {
string url = "https://neiyihuizhouilabtest.zgfzjy.cn/api/client/color/categroies";
DataRequestGet request = new DataRequestGet(url);
request.OnCallback = (obj) => { Debug.Log(obj); };
WebRequest.Send(request);
}
}
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 6f0700aede140c44fb927acc112b9998
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -9,7 +9,9 @@ using UnityEngine.UIElements;
/// </summary>
public abstract class ModuleUIPanel : MonoBehaviour {
/// <summary> 绑定的页面 </summary>
public ModuleUIPage UIPage;
public ModuleUIPage ModuleUIPage;
/// <summary> 核心模块 </summary>
protected virtual ModuleCore ModuleCore => ModuleCore.I;
/// <summary> 绑定的根元素 </summary>
public abstract VisualElement Element { get; }
}
@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 2c6f02c8edd5f1241b53b0c7e538e84a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -6,9 +6,15 @@ using UnityEngine.UIElements;
/// <summary>
/// UI窗口
/// </summary>
public abstract class ModuleUIWindow<T> : ModuleSingle<T> {
public abstract class ModuleUIWindow<Data> : MonoBehaviour {
/// <summary> 绑定的页面 </summary>
public ModuleUIPage UIPage;
public ModuleUIPage ModuleUIPage;
/// <summary> 核心模块 </summary>
protected virtual ModuleCore ModuleCore => ModuleCore.I;
/// <summary> 绑定的根元素 </summary>
public abstract VisualElement Element { get; }
/// <summary> 打开窗口,并且传进参数 </summary>
public abstract void Open(Data data);
/// <summary> 关闭窗口 </summary>
public abstract void Close();
}