update 0.5.8

This commit is contained in:
2026-06-24 15:16:59 +08:00
parent a71f9cfc93
commit f8edda498e
31 changed files with 1213 additions and 30 deletions
+20 -18
View File
@@ -4,7 +4,7 @@ using UnityEngine.Events;
using UnityEngine.EventSystems;
using XericLibrary.Runtime.MacroLibrary;
namespace DigitalTwinTool
namespace Deconstruction.Runtime
{
public static class MacroEventTrigger
{
@@ -84,49 +84,49 @@ namespace DigitalTwinTool
#region 细节事件
public static EventTrigger.TriggerEvent OnPointerEnter(this EventTrigger eventTrigger)
public static EventTrigger.TriggerEvent onPointerEnter(this EventTrigger eventTrigger)
=> eventTrigger.GetEventTrigger(EventTriggerType.PointerEnter);
public static EventTrigger.TriggerEvent OnPointerExit(this EventTrigger eventTrigger)
public static EventTrigger.TriggerEvent onPointerExit(this EventTrigger eventTrigger)
=> eventTrigger.GetEventTrigger(EventTriggerType.PointerExit);
public static EventTrigger.TriggerEvent OnPointerDown(this EventTrigger eventTrigger)
public static EventTrigger.TriggerEvent onPointerDown(this EventTrigger eventTrigger)
=> eventTrigger.GetEventTrigger(EventTriggerType.PointerDown);
public static EventTrigger.TriggerEvent OnPointerUp(this EventTrigger eventTrigger)
public static EventTrigger.TriggerEvent onPointerUp(this EventTrigger eventTrigger)
=> eventTrigger.GetEventTrigger(EventTriggerType.PointerUp);
public static EventTrigger.TriggerEvent OnPointerClick(this EventTrigger eventTrigger)
public static EventTrigger.TriggerEvent onPointerClick(this EventTrigger eventTrigger)
=> eventTrigger.GetEventTrigger(EventTriggerType.PointerClick);
public static EventTrigger.TriggerEvent OnDrag(this EventTrigger eventTrigger)
public static EventTrigger.TriggerEvent onDrag(this EventTrigger eventTrigger)
=> eventTrigger.GetEventTrigger(EventTriggerType.Drag);
public static EventTrigger.TriggerEvent OnDrop(this EventTrigger eventTrigger)
public static EventTrigger.TriggerEvent onDrop(this EventTrigger eventTrigger)
=> eventTrigger.GetEventTrigger(EventTriggerType.Drop);
public static EventTrigger.TriggerEvent OnScroll(this EventTrigger eventTrigger)
public static EventTrigger.TriggerEvent onScroll(this EventTrigger eventTrigger)
=> eventTrigger.GetEventTrigger(EventTriggerType.Scroll);
public static EventTrigger.TriggerEvent OnUpdateSelected(this EventTrigger eventTrigger)
public static EventTrigger.TriggerEvent onUpdateSelected(this EventTrigger eventTrigger)
=> eventTrigger.GetEventTrigger(EventTriggerType.UpdateSelected);
public static EventTrigger.TriggerEvent OnSelect(this EventTrigger eventTrigger)
public static EventTrigger.TriggerEvent onSelect(this EventTrigger eventTrigger)
=> eventTrigger.GetEventTrigger(EventTriggerType.Select);
public static EventTrigger.TriggerEvent OnDeselect(this EventTrigger eventTrigger)
public static EventTrigger.TriggerEvent onDeselect(this EventTrigger eventTrigger)
=> eventTrigger.GetEventTrigger(EventTriggerType.Deselect);
public static EventTrigger.TriggerEvent OnMove(this EventTrigger eventTrigger)
public static EventTrigger.TriggerEvent onMove(this EventTrigger eventTrigger)
=> eventTrigger.GetEventTrigger(EventTriggerType.Move);
public static EventTrigger.TriggerEvent OnInitializePotentialDrag(this EventTrigger eventTrigger)
public static EventTrigger.TriggerEvent onInitializePotentialDrag(this EventTrigger eventTrigger)
=> eventTrigger.GetEventTrigger(EventTriggerType.InitializePotentialDrag);
public static EventTrigger.TriggerEvent OnBeginDrag(this EventTrigger eventTrigger)
public static EventTrigger.TriggerEvent onBeginDrag(this EventTrigger eventTrigger)
=> eventTrigger.GetEventTrigger(EventTriggerType.BeginDrag);
public static EventTrigger.TriggerEvent OnEndDrag(this EventTrigger eventTrigger)
public static EventTrigger.TriggerEvent onEndDrag(this EventTrigger eventTrigger)
=> eventTrigger.GetEventTrigger(EventTriggerType.EndDrag);
/// <summary>
@@ -134,10 +134,10 @@ namespace DigitalTwinTool
/// </summary>
/// <param name="eventTrigger"></param>
/// <returns></returns>
public static EventTrigger.TriggerEvent OnSubmit(this EventTrigger eventTrigger)
public static EventTrigger.TriggerEvent onSubmit(this EventTrigger eventTrigger)
=> eventTrigger.GetEventTrigger(EventTriggerType.Submit);
public static EventTrigger.TriggerEvent OnCancel(this EventTrigger eventTrigger)
public static EventTrigger.TriggerEvent onCancel(this EventTrigger eventTrigger)
=> eventTrigger.GetEventTrigger(EventTriggerType.Cancel);
private static EventTrigger.TriggerEvent GetEventTrigger(this EventTrigger eventTrigger, EventTriggerType type)
@@ -160,6 +160,8 @@ namespace DigitalTwinTool
return e;
}
public static void ClearAllEventTrigger(this EventTrigger eventTrigger) => eventTrigger.triggers.Clear();
#endregion
}
}
+25 -9
View File
@@ -6,26 +6,42 @@ using UnityEngine;
using UnityEngine.UI;
using XericLibrary.Runtime.MacroLibrary;
namespace DigitalTwinTool
namespace Deconstruction.Runtime
{
public static class MacroLayout
{
/// <summary>
/// 将布局组标记为脏,以触发重算。
/// 将布局组标记为脏,以触发重算布局。
/// </summary>
/// <param name="layoutGroup"></param>
public static void SetDirty(this LayoutGroup layoutGroup)
public static void SetLayoutDirty(this LayoutGroup layoutGroup)
{
var type = typeof(LayoutGroup);
var method = type.GetMethod("SetDirty", BindingFlags.Instance | BindingFlags.NonPublic);
method?.Invoke(layoutGroup, null);
// var type = typeof(LayoutGroup);
// var method = type.GetMethod("SetDirty", BindingFlags.Instance | BindingFlags.NonPublic);
// method?.Invoke(layoutGroup, null);
LayoutRebuilder.ForceRebuildLayoutImmediate(layoutGroup.RectTransform());
}
private static HashSet<RectTransform> _rebuildSet = new HashSet<RectTransform>();
public static void WaitParentLayoutRebuild(this MonoBehaviour script)
/// <summary>
/// 将canvas组件白哦及为脏,以触发canvas充算布局
/// </summary>
/// <param name="rectTrans"></param>
public static void SetLayoutDirty(this RectTransform rectTrans)
{
LayoutRebuilder.ForceRebuildLayoutImmediate(rectTrans);
}
private static HashSet<RectTransform> _rebuildSet = new HashSet<RectTransform>();
/// <summary>
/// 等待这帧过去之后再触发重建
/// </summary>
/// <param name="script"></param>
public static void WaitParentLayoutRebuildThenRebuildAgen(this MonoBehaviour script)
{
if (!script.RectTransform())
return;
script.StartCoroutine(waitForRebuild());
return;
IEnumerator waitForRebuild()
{