From 64938f113712a13794c577f2a7ca641e68c1e8ef Mon Sep 17 00:00:00 2001
From: MuHua-123 <136542559+MuHua-123@users.noreply.github.com>
Date: Wed, 12 Nov 2025 10:19:42 +0800
Subject: [PATCH] 1
---
.../ModuleInput/InputControl/InputMenu.cs | 12 +-
.../ModuleUI/ModuleUISingle/UIShortcutMenu.cs | 169 ------------------
Assets/ModuleCore/ModuleUISMenu.meta | 8 +
Assets/ModuleCore/ModuleUISMenu/Assets.meta | 8 +
.../ModuleCore/ModuleUISMenu/Assets/箭头.png | Bin 0 -> 398 bytes
.../ModuleUISMenu/Assets/箭头.png.meta | 140 +++++++++++++++
Assets/ModuleCore/ModuleUISMenu/Runtime.meta | 8 +
.../ModuleUISMenu/Runtime/ShortcutMenu.cs | 50 ++++++
.../Runtime/ShortcutMenu.cs.meta} | 2 +-
.../ModuleUISMenu/Runtime/ShortcutMenuItem.cs | 16 ++
.../Runtime/ShortcutMenuItem.cs.meta | 11 ++
.../ModuleUISMenu/Runtime/UIMenuPanel.cs | 75 ++++++++
.../ModuleUISMenu/Runtime/UIMenuPanel.cs.meta | 11 ++
.../ModuleUISMenu/Runtime/UIShortcutMenu.cs | 52 ++++++
.../Runtime/UIShortcutMenu.cs.meta | 14 ++
.../ModuleCore/ModuleUISMenu/UI Toolkit.meta | 8 +
.../ModuleUISMenu/UI Toolkit/MenuPanel.meta | 8 +
.../UI Toolkit/MenuPanel/MenuPanel.uss | 28 +++
.../UI Toolkit/MenuPanel/MenuPanel.uss.meta} | 5 +-
.../UI Toolkit/MenuPanel/MenuPanel.uxml | 11 ++
.../UI Toolkit/MenuPanel/MenuPanel.uxml.meta} | 0
.../UI Toolkit/MenuPanel/MenuTemplate.uxml} | 6 +-
.../MenuPanel/MenuTemplate.uxml.meta} | 0
.../UI Toolkit}/ShortcutMenu.meta | 0
.../UI Toolkit/ShortcutMenu/ShortcutMenu.uss | 7 +
.../ShortcutMenu/ShortcutMenu.uss.meta | 0
.../ShortcutMenu/ShortcutMenu.uxml | 0
.../ShortcutMenu/ShortcutMenu.uxml.meta | 0
Assets/{ModuleCore => }/ModuleSingle.meta | 0
.../ModuleSingle/SingleManager.cs | 0
.../ModuleSingle/SingleManager.cs.meta | 0
Assets/{ModuleCore => }/ModuleTools.meta | 0
Assets/{ModuleCore => }/ModuleTools/Dice.cs | 0
.../{ModuleCore => }/ModuleTools/Dice.cs.meta | 0
Assets/{ModuleCore => }/ModuleUI.meta | 0
Assets/{ModuleCore => }/ModuleUI/ModuleUI.cs | 0
.../ModuleUI/ModuleUI.cs.meta | 0
.../ModuleUI/ModuleUIPage.meta | 0
.../ModuleUI/ModuleUIPanel.meta | 0
.../ModuleUI/ModuleUIPanel/Component.meta | 0
.../ModuleUIPanel/Component/UISliderInputH.cs | 0
.../Component/UISliderInputH.cs.meta | 0
.../ModuleUIPanel/Component/UIVector2.cs | 0
.../ModuleUIPanel/Component/UIVector2.cs.meta | 0
.../ModuleUIPanel/Component/UIVector3.cs | 0
.../ModuleUIPanel/Component/UIVector3.cs.meta | 0
.../Component/UIVideoPlayPanel.cs | 0
.../Component/UIVideoPlayPanel.cs.meta | 0
.../ModuleUI/ModuleUIPanel/UIPopup.meta | 0
.../ModuleUIPanel/UIPopup/Message.meta | 0
.../UIPopup/Message/UIMessage1.cs | 0
.../UIPopup/Message/UIMessage1.cs.meta | 0
.../UIPopup/Message/UIMessage2.cs | 0
.../UIPopup/Message/UIMessage2.cs.meta | 0
.../UIPopup/Message/UIMessage3.cs | 0
.../UIPopup/Message/UIMessage3.cs.meta | 0
.../ModuleUIPanel/UIPopup/UIBannerTip.cs | 0
.../ModuleUIPanel/UIPopup/UIBannerTip.cs.meta | 0
.../ModuleUIPanel/UIPopup/UIGuidance.cs | 0
.../ModuleUIPanel/UIPopup/UIGuidance.cs.meta | 0
.../ModuleUIPanel/UIPopup/UILoading.cs | 0
.../ModuleUIPanel/UIPopup/UILoading.cs.meta | 0
.../ModuleUI/ModuleUISingle.meta | 0
.../ModuleUI/ModuleUISingle/UILoadManager.cs | 0
.../ModuleUISingle/UILoadManager.cs.meta | 0
.../ModuleUI/ModuleUISingle/UIPopupManager.cs | 0
.../ModuleUISingle/UIPopupManager.cs.meta | 0
Assets/UI Toolkit/Document/TestDocument.uxml | 5 -
.../GamePanel/ShortcutMenu/MenuTemplate.uxml | 11 --
.../GamePanel/ShortcutMenu/ShortcutMenu.uss | 32 ----
70 files changed, 469 insertions(+), 228 deletions(-)
delete mode 100644 Assets/ModuleCore/ModuleUI/ModuleUISingle/UIShortcutMenu.cs
create mode 100644 Assets/ModuleCore/ModuleUISMenu.meta
create mode 100644 Assets/ModuleCore/ModuleUISMenu/Assets.meta
create mode 100644 Assets/ModuleCore/ModuleUISMenu/Assets/箭头.png
create mode 100644 Assets/ModuleCore/ModuleUISMenu/Assets/箭头.png.meta
create mode 100644 Assets/ModuleCore/ModuleUISMenu/Runtime.meta
create mode 100644 Assets/ModuleCore/ModuleUISMenu/Runtime/ShortcutMenu.cs
rename Assets/ModuleCore/{ModuleUI/ModuleUISingle/UIShortcutMenu.cs.meta => ModuleUISMenu/Runtime/ShortcutMenu.cs.meta} (83%)
create mode 100644 Assets/ModuleCore/ModuleUISMenu/Runtime/ShortcutMenuItem.cs
create mode 100644 Assets/ModuleCore/ModuleUISMenu/Runtime/ShortcutMenuItem.cs.meta
create mode 100644 Assets/ModuleCore/ModuleUISMenu/Runtime/UIMenuPanel.cs
create mode 100644 Assets/ModuleCore/ModuleUISMenu/Runtime/UIMenuPanel.cs.meta
create mode 100644 Assets/ModuleCore/ModuleUISMenu/Runtime/UIShortcutMenu.cs
create mode 100644 Assets/ModuleCore/ModuleUISMenu/Runtime/UIShortcutMenu.cs.meta
create mode 100644 Assets/ModuleCore/ModuleUISMenu/UI Toolkit.meta
create mode 100644 Assets/ModuleCore/ModuleUISMenu/UI Toolkit/MenuPanel.meta
create mode 100644 Assets/ModuleCore/ModuleUISMenu/UI Toolkit/MenuPanel/MenuPanel.uss
rename Assets/{UI Toolkit/Document/TestDocument.uxml.meta => ModuleCore/ModuleUISMenu/UI Toolkit/MenuPanel/MenuPanel.uss.meta} (58%)
create mode 100644 Assets/ModuleCore/ModuleUISMenu/UI Toolkit/MenuPanel/MenuPanel.uxml
rename Assets/{UI Toolkit/GamePanel/ShortcutMenu/MenuTemplate.uxml.meta => ModuleCore/ModuleUISMenu/UI Toolkit/MenuPanel/MenuPanel.uxml.meta} (100%)
rename Assets/{UI Toolkit/GamePanel/ShortcutMenu/ItemTemplate.uxml => ModuleCore/ModuleUISMenu/UI Toolkit/MenuPanel/MenuTemplate.uxml} (65%)
rename Assets/{UI Toolkit/GamePanel/ShortcutMenu/ItemTemplate.uxml.meta => ModuleCore/ModuleUISMenu/UI Toolkit/MenuPanel/MenuTemplate.uxml.meta} (100%)
rename Assets/{UI Toolkit/GamePanel => ModuleCore/ModuleUISMenu/UI Toolkit}/ShortcutMenu.meta (100%)
create mode 100644 Assets/ModuleCore/ModuleUISMenu/UI Toolkit/ShortcutMenu/ShortcutMenu.uss
rename Assets/{UI Toolkit/GamePanel => ModuleCore/ModuleUISMenu/UI Toolkit}/ShortcutMenu/ShortcutMenu.uss.meta (100%)
rename Assets/{UI Toolkit/GamePanel => ModuleCore/ModuleUISMenu/UI Toolkit}/ShortcutMenu/ShortcutMenu.uxml (100%)
rename Assets/{UI Toolkit/GamePanel => ModuleCore/ModuleUISMenu/UI Toolkit}/ShortcutMenu/ShortcutMenu.uxml.meta (100%)
rename Assets/{ModuleCore => }/ModuleSingle.meta (100%)
rename Assets/{ModuleCore => }/ModuleSingle/SingleManager.cs (100%)
rename Assets/{ModuleCore => }/ModuleSingle/SingleManager.cs.meta (100%)
rename Assets/{ModuleCore => }/ModuleTools.meta (100%)
rename Assets/{ModuleCore => }/ModuleTools/Dice.cs (100%)
rename Assets/{ModuleCore => }/ModuleTools/Dice.cs.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUI.cs (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUI.cs.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPage.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/Component.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/Component/UISliderInputH.cs (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/Component/UISliderInputH.cs.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/Component/UIVector2.cs (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/Component/UIVector2.cs.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/Component/UIVector3.cs (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/Component/UIVector3.cs.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/Component/UIVideoPlayPanel.cs (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/Component/UIVideoPlayPanel.cs.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/UIPopup.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/UIPopup/Message.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/UIPopup/Message/UIMessage1.cs (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/UIPopup/Message/UIMessage1.cs.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/UIPopup/Message/UIMessage2.cs (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/UIPopup/Message/UIMessage2.cs.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/UIPopup/Message/UIMessage3.cs (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/UIPopup/Message/UIMessage3.cs.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/UIPopup/UIBannerTip.cs (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/UIPopup/UIBannerTip.cs.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/UIPopup/UIGuidance.cs (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/UIPopup/UIGuidance.cs.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/UIPopup/UILoading.cs (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUIPanel/UIPopup/UILoading.cs.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUISingle.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUISingle/UILoadManager.cs (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUISingle/UILoadManager.cs.meta (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUISingle/UIPopupManager.cs (100%)
rename Assets/{ModuleCore => }/ModuleUI/ModuleUISingle/UIPopupManager.cs.meta (100%)
delete mode 100644 Assets/UI Toolkit/Document/TestDocument.uxml
delete mode 100644 Assets/UI Toolkit/GamePanel/ShortcutMenu/MenuTemplate.uxml
delete mode 100644 Assets/UI Toolkit/GamePanel/ShortcutMenu/ShortcutMenu.uss
diff --git a/Assets/ModuleCore/ModuleInput/InputControl/InputMenu.cs b/Assets/ModuleCore/ModuleInput/InputControl/InputMenu.cs
index 59a6e37..1ea789c 100644
--- a/Assets/ModuleCore/ModuleInput/InputControl/InputMenu.cs
+++ b/Assets/ModuleCore/ModuleInput/InputControl/InputMenu.cs
@@ -9,7 +9,7 @@ using MuHua;
///
public class InputMenu : InputControl {
- private UIMenuPanel menu;
+ // private UIMenuPanel menu;
protected override void ModuleInput_OnInputMode(InputMode mode) {
// throw new System.NotImplementedException();
@@ -19,16 +19,16 @@ public class InputMenu : InputControl {
/// 鼠标左键
public void OnMouseLeft(InputValue inputValue) {
if (inputValue.isPressed) return;
- UIShortcutMenu.I.Close();
+ // UIShortcutMenu.I.Close();
}
/// 鼠标右键
public void OnMouseRight(InputValue inputValue) {
- UIShortcutMenu.I.Add("测试1/测试11", () => { Debug.Log("测试1/测试11"); });
- UIShortcutMenu.I.Add("测试1/测试12", () => { Debug.Log("测试1/测试12"); });
+ // UIShortcutMenu.I.Add("测试1/测试11", () => { Debug.Log("测试1/测试11"); });
+ // UIShortcutMenu.I.Add("测试1/测试12", () => { Debug.Log("测试1/测试12"); });
- UIShortcutMenu.I.Add("测试2", () => { Debug.Log("测试2"); });
+ // UIShortcutMenu.I.Add("测试2", () => { Debug.Log("测试2"); });
- UIShortcutMenu.I.Open();
+ // UIShortcutMenu.I.Open();
}
#endregion
}
diff --git a/Assets/ModuleCore/ModuleUI/ModuleUISingle/UIShortcutMenu.cs b/Assets/ModuleCore/ModuleUI/ModuleUISingle/UIShortcutMenu.cs
deleted file mode 100644
index efe6aff..0000000
--- a/Assets/ModuleCore/ModuleUI/ModuleUISingle/UIShortcutMenu.cs
+++ /dev/null
@@ -1,169 +0,0 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.UIElements;
-using MuHua;
-
-///
-/// UI快捷菜单
-///
-public class UIShortcutMenu : ModuleUISingle {
- /// 菜单模板
- public VisualTreeAsset menuTreeAsset;
- /// 项目模板
- public VisualTreeAsset itemTreeAsset;
-
- /// 数据列表
- public List datas = new List();
- /// 控件列表
- public static List controls = new List();
-
- public override VisualElement Element => root.Q("ShortcutMenu");
-
- protected override void Awake() => NoReplace(false);
-
- private void Update() => controls.ForEach(control => control.Update());
-
- private void OnDestroy() => controls.ForEach(control => control.Dispose());
-
- /// 打开菜单
- public void Open() {
- Close();
- Vector3 position = UITool.GetMousePosition(Element);
- UIMenuPanel menuPanel = Create();
- menuPanel.Settings(position, datas);
- }
- /// 关闭菜单
- public void Close() {
- controls.ForEach(control => control.Dispose());
- controls.Clear();
- Element.Clear();
- }
- /// 创建子菜单
- public UIMenuPanel Create() {
- // 创建菜单元素
- VisualElement element = menuTreeAsset.Instantiate();
- element.EnableInClassList("menu", true);
- Element.Add(element);
- UIMenuPanel menuPanel = new UIMenuPanel(element, itemTreeAsset);
- controls.Add(menuPanel);
- return menuPanel;
- }
-
- /// 添加菜单项(方法)
- public void Add(string name, Action callback) {
- string[] names = name.Split('/');
-
- List datas = this.datas;
- for (int i = 0; i < names.Length; i++) {
- string menu = names[i];
- DataMenuItem item = datas.Find(obj => obj.name == menu);
- if (item == null) {
- item = new DataMenuItem { name = menu };
- if (i == names.Length - 1) { item.callback = callback; }
- datas.Add(item);
- }
- datas = item.items;
- }
- }
- /// 移除菜单项
- public void Remove(string name) {
- string[] names = name.Split('/');
- List datas = this.datas;
- DataMenuItem parent = null;
- DataMenuItem target = null;
-
- for (int i = 0; i < names.Length; i++) {
- string menu = names[i];
- target = datas.Find(obj => obj.name == menu);
- if (target == null) return; // 未找到,直接返回
- if (i == names.Length - 1) {
- // 找到要移除的项
- datas.Remove(target);
- return;
- }
- parent = target;
- datas = target.items;
- }
- }
-}
-///
-/// UI快捷菜单面板
-///
-public class UIMenuPanel : ModuleUIPanel, UIControl {
-
- public UIMenuPanel menuPanel;
- public VisualElement submenu;
- public ModuleUIItems items;
-
- public VisualElement Container => Q("Container");
-
- public UIMenuPanel(VisualElement element, VisualTreeAsset templateAsset) : base(element) {
- items = new ModuleUIItems(Container, templateAsset,
- (data, element) => new UIItem(data, element, this));
- }
- public void Update() {
- // throw new NotImplementedException();
- }
- public void Dispose() {
- items.Release();
- }
-
- public void Settings(Vector3 position, List datas) {
- items.Create(datas);
- element.transform.position = position;
- }
-
- /// 打开子菜单
- public void Open(VisualElement submenu, List datas) {
- if (this.submenu == submenu) { return; }
- // 更新子菜单
- this.submenu = submenu;
- if (menuPanel == null) { menuPanel = UIShortcutMenu.I.Create(); }
- float x = submenu.worldBound.position.x + submenu.resolvedStyle.width;
- float y = submenu.worldBound.position.y - 5;
- Vector3 position = new Vector3(x, y, 0);
- menuPanel.Settings(position, datas);
- bool isEnable = datas != null && datas.Count > 0;
- menuPanel.OpenSubmenu(isEnable);
- }
- public void OpenSubmenu(bool open) {
- element.EnableInClassList("menu-hide", !open);
- menuPanel?.OpenSubmenu(false);
- }
-
- /// UI项目
- public class UIItem : ModuleUIItem {
- public readonly UIMenuPanel parent;
-
- public Label Name => element.Q