Compare commits

...

4 Commits

Author SHA1 Message Date
mob-sakai
a92d0b9280 Merge remote-tracking branch 'origin/develop' into develop-preview
# Conflicts:
#	Packages/src/CHANGELOG.md
#	Packages/src/package.json
2025-12-24 20:18:34 +09:00
semantic-release-bot
fed927559f chore(release): 4.11.4 [skip ci]
## [4.11.4](https://github.com/mob-sakai/ParticleEffectForUGUI/compare/v4.11.3...v4.11.4) (2025-12-24)

### Bug Fixes

* add early return for case where subEmitter module is disabled ([d1386a1](d1386a1221))
* avoid endless loop ([eb2e862](eb2e862e80)), closes [#392](https://github.com/mob-sakai/ParticleEffectForUGUI/issues/392)
2025-12-24 11:17:10 +00:00
mob-sakai
eb2e862e80 fix: avoid endless loop
close #392
2025-12-24 20:10:01 +09:00
mob-sakai
d1386a1221 fix: add early return for case where subEmitter module is disabled 2025-12-05 09:58:23 +09:00
3 changed files with 13 additions and 9 deletions

View File

@@ -1,16 +1,21 @@
using System.Collections; using System.Collections;
using Coffee.UIParticleInternal;
using NUnit.Framework; using NUnit.Framework;
using UnityEngine;
using UnityEngine.TestTools; using UnityEngine.TestTools;
namespace Coffee.UIParticle.Editor.Tests namespace Coffee.UIParticle.Editor.Tests
{ {
public class NewTestScript public class NewTestScript
{ {
// A Test behaves as an ordinary method [TestCase(-1)]
[Test] [TestCase(0)]
public void NewTestScriptSimplePasses() [TestCase(2048)]
[TestCase(3000)]
public void GetParticleArray(int requiredSize)
{ {
// Use the Assert class to test conditions var array = ParticleSystemExtensions.GetParticleArray(requiredSize);
Debug.Log($"requiredSize: {requiredSize}, array.Length: {array.Length}");
} }
// A UnityTest behaves like a coroutine in Play Mode. In Edit Mode you can use // A UnityTest behaves like a coroutine in Play Mode. In Edit Mode you can use

View File

@@ -9,6 +9,7 @@ using UnityEngine.Serialization;
using Random = UnityEngine.Random; using Random = UnityEngine.Random;
[assembly: InternalsVisibleTo("Coffee.UIParticle.Editor")] [assembly: InternalsVisibleTo("Coffee.UIParticle.Editor")]
[assembly: InternalsVisibleTo("Coffee.UIParticle.Editor.Tests")]
[assembly: InternalsVisibleTo("Coffee.UIParticle.PerformanceDemo")] [assembly: InternalsVisibleTo("Coffee.UIParticle.PerformanceDemo")]
[assembly: InternalsVisibleTo("Coffee.UIParticle.Demo")] [assembly: InternalsVisibleTo("Coffee.UIParticle.Demo")]

View File

@@ -13,11 +13,7 @@ namespace Coffee.UIParticleInternal
{ {
if (s_TmpParticles.Length < size) if (s_TmpParticles.Length < size)
{ {
while (s_TmpParticles.Length < size) size = Mathf.NextPowerOfTwo(size);
{
size = Mathf.NextPowerOfTwo(size);
}
s_TmpParticles = new ParticleSystem.Particle[size]; s_TmpParticles = new ParticleSystem.Particle[size];
} }
@@ -190,6 +186,8 @@ namespace Coffee.UIParticleInternal
if (!self || !parent) return false; if (!self || !parent) return false;
var subEmitters = parent.subEmitters; var subEmitters = parent.subEmitters;
if (!subEmitters.enabled) return false; // No sub emitters.
var count = subEmitters.subEmittersCount; var count = subEmitters.subEmittersCount;
for (var i = 0; i < count; i++) for (var i = 0; i < count; i++)
{ {