fix: avoid endless loop

close #392
This commit is contained in:
mob-sakai
2025-12-24 20:10:01 +09:00
parent d1386a1221
commit eb2e862e80
3 changed files with 11 additions and 9 deletions

View File

@@ -1,16 +1,21 @@
using System.Collections;
using Coffee.UIParticleInternal;
using NUnit.Framework;
using UnityEngine;
using UnityEngine.TestTools;
namespace Coffee.UIParticle.Editor.Tests
{
public class NewTestScript
{
// A Test behaves as an ordinary method
[Test]
public void NewTestScriptSimplePasses()
[TestCase(-1)]
[TestCase(0)]
[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

View File

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

View File

@@ -13,11 +13,7 @@ namespace Coffee.UIParticleInternal
{
if (s_TmpParticles.Length < size)
{
while (s_TmpParticles.Length < size)
{
size = Mathf.NextPowerOfTwo(size);
}
size = Mathf.NextPowerOfTwo(size);
s_TmpParticles = new ParticleSystem.Particle[size];
}