From 43295eebe10ac0852195e7720fcfc3949fb6c95f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A3=AE2003?= <2384017988@qq.com>
Date: Thu, 20 Aug 2026 16:29:40 +0800
Subject: [PATCH] 1
---
Packages/packages-lock.json | 6 +
Packages/src/Editor/ParticleBatchAssigner.cs | 249 ++++++++++++++++++
.../src/Editor/ParticleBatchAssigner.cs.meta | 11 +
.../src/Editor/ParticleScale3DResetter.cs | 57 ++++
.../Editor/ParticleScale3DResetter.cs.meta | 11 +
Packages/src/Runtime/UIParticle.cs | 2 +-
Packages/src/Runtime/UIParticleRenderer.cs | 5 +-
7 files changed, 338 insertions(+), 3 deletions(-)
create mode 100644 Packages/src/Editor/ParticleBatchAssigner.cs
create mode 100644 Packages/src/Editor/ParticleBatchAssigner.cs.meta
create mode 100644 Packages/src/Editor/ParticleScale3DResetter.cs
create mode 100644 Packages/src/Editor/ParticleScale3DResetter.cs.meta
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
index 0f5278651..4262a6fb6 100644
--- a/Packages/packages-lock.json
+++ b/Packages/packages-lock.json
@@ -362,6 +362,12 @@
},
"url": "https://packages.unity.com"
},
+ "com.utj.profilerreader": {
+ "version": "file:jp.unity3d.profilerreader",
+ "depth": 0,
+ "source": "embedded",
+ "dependencies": {}
+ },
"com.unity.modules.ai": {
"version": "1.0.0",
"depth": 0,
diff --git a/Packages/src/Editor/ParticleBatchAssigner.cs b/Packages/src/Editor/ParticleBatchAssigner.cs
new file mode 100644
index 000000000..1045c01d6
--- /dev/null
+++ b/Packages/src/Editor/ParticleBatchAssigner.cs
@@ -0,0 +1,249 @@
+using System.Collections.Generic;
+using System.Linq;
+using UnityEditor;
+using UnityEngine;
+
+#if UNITY_2021_2_OR_NEWER
+using UnityEditor.SceneManagement;
+#elif UNITY_2018_3_OR_NEWER
+using UnityEditor.Experimental.SceneManagement;
+#endif
+
+namespace Coffee.UIExtensions
+{
+ ///
+ /// Editor window that batch-assigns multiple ParticleSystem GameObjects/effects
+ /// into a UIParticle's "Particles" list in one click.
+ ///
+ public class ParticleBatchAssigner : EditorWindow
+ {
+ private UIParticle _target;
+ private readonly List