合并代码

This commit is contained in:
MuHua-123
2024-11-15 18:28:21 +08:00
parent 497b43a446
commit 72d1f89b54
274 changed files with 4939 additions and 1968 deletions
@@ -0,0 +1,15 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
namespace MuHua {
public class UIViewExtend<ViewModel> : MonoBehaviour where ViewModel : UIViewModel {
public ViewModel view;
public virtual VisualElement element => view.Q<VisualElement>();
public T Q<T>(string name = null, string className = null) where T : VisualElement {
return element.Q<T>(name, className);
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: c3f91d8edeffb1143b3eb547a09cc321
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,15 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
namespace MuHua {
public class UIViewModel : MonoBehaviour {
public UIDocument document;
public VisualElement element => document.rootVisualElement;
public T Q<T>(string name = null, string className = null) where T : VisualElement {
return element.Q<T>(name, className);
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f15a2fe11989e884d9294ac8577594a8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,15 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
namespace MuHua {
public class UIViewTemplate<Data> {
public Data value;
public VisualElement element;
public virtual void SetValue(VisualTreeAsset asset, Data value) {
this.value = value;
this.element = asset.Instantiate();
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 1962450aff64953408148b16dd9ff69f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,30 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
namespace MuHua {
public static class UIViewTool {
public static List<Template> Instantiate<Template, V>(this VisualElement parent, VisualTreeAsset template, V[] list) where Template : UIViewTemplate<V>, new() {
List<Template> templates = new List<Template>();
for (int i = 0; i < list.Length; i++) {
templates.Add(parent.Instantiate<Template, V>(template, list[i]));
}
return templates;
}
public static List<Template> Instantiate<Template, V>(this VisualElement parent, VisualTreeAsset template, List<V> list) where Template : UIViewTemplate<V>, new() {
List<Template> templates = new List<Template>();
for (int i = 0; i < list.Count; i++) {
templates.Add(parent.Instantiate<Template, V>(template, list[i]));
}
return templates;
}
public static Template Instantiate<Template, V>(this VisualElement parent, VisualTreeAsset template, V value) where Template : UIViewTemplate<V>, new() {
Template temp = new Template();
temp.SetValue(template, value);
parent.Add(temp.element);
return temp;
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f47b238dc04f6f243b00dd9ab82419bd
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: