Files
MinFt/Client/Assets/Scripts/UIExtend/GraphicDebugExtensions.cs
Liubing\LB 3d8d4d18f3 first commit
先修复一下,错误的场景

删除不必要的钓场资产

修复into场景

update:更新meta文件,修复报错

update:修复资源

修复第一章节建造

修复建造第三章

update:删除多余内容

update:更新README.md

update:还原图标

update:更新README

update:更新配置
2026-04-28 02:17:22 +08:00

65 lines
2.2 KiB
C#

using UnityEditor;
using UnityEngine;
using UnityEngine.UI;
public static class GraphicDebugExtensions
{
#if UNITY_EDITOR
[DrawGizmo(GizmoType.Selected)]
static void DrawGraphicBounds(NoDrawGraphics graphic, GizmoType gizmoType)
{
if (!graphic.enabled) return;
Color originalColor = Gizmos.color;
Gizmos.color = Color.green;
DrawRectTransformBounds(graphic.rectTransform);
}
[DrawGizmo(GizmoType.Selected)]
static void DrawRectMask2DBounds(RectMask2D rectMask, GizmoType gizmoType)
{
if (!rectMask.enabled) return;
RectTransform rectTransform = rectMask.rectTransform;
Vector4 padding = rectMask.padding;
Vector3[] worldCorners = new Vector3[4];
rectTransform.GetWorldCorners(worldCorners);
Rect rect = rectTransform.rect;
Rect paddedRect = new Rect(
rect.x + padding.x,
rect.y + padding.z,
rect.width - padding.x - padding.y,
rect.height - padding.z - padding.w
);
Vector3[] paddedCorners = new Vector3[4];
paddedCorners[0] = rectTransform.TransformPoint(new Vector3(paddedRect.x, paddedRect.y, 0)); // 左下
paddedCorners[1] = rectTransform.TransformPoint(new Vector3(paddedRect.x + paddedRect.width, paddedRect.y, 0)); // 右下
paddedCorners[2] = rectTransform.TransformPoint(new Vector3(paddedRect.x + paddedRect.width, paddedRect.y + paddedRect.height, 0)); // 右上
paddedCorners[3] = rectTransform.TransformPoint(new Vector3(paddedRect.x, paddedRect.y + paddedRect.height, 0)); // 左上
Gizmos.color = Color.green;
for (int i = 0; i < 4; i++)
{
Gizmos.DrawLine(paddedCorners[i], paddedCorners[(i + 1) % 4]);
}
}
static void DrawRectTransformBounds(RectTransform rectTransform)
{
if (rectTransform != null)
{
Vector3[] corners = new Vector3[4];
rectTransform.GetWorldCorners(corners);
Gizmos.DrawLine(corners[0], corners[1]);
Gizmos.DrawLine(corners[1], corners[2]);
Gizmos.DrawLine(corners[2], corners[3]);
Gizmos.DrawLine(corners[3], corners[0]);
}
}
#endif
}