They still do generate a lot of garbage but with boxed value pools I made the boxes reusable, it still does generate garbage through the delegate creation, gotta find a solution for them later
		
			
				
	
	
		
			15 lines
		
	
	
		
			407 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			15 lines
		
	
	
		
			407 B
		
	
	
	
		
			C#
		
	
	
	
	
	
using Engine.Core;
 | 
						|
 | 
						|
namespace Engine.Systems.Tween;
 | 
						|
 | 
						|
public class BoxedPool<T>(int initialCapacity = 1) : Pool<Boxed<T>>(() => new(), initialCapacity) where T : struct;
 | 
						|
public static class BoxedPoolExtensions
 | 
						|
{
 | 
						|
    public static Boxed<T> Get<T>(this BoxedPool<T> boxedPool, T value) where T : struct
 | 
						|
    {
 | 
						|
        Boxed<T> boxed = boxedPool.Get();
 | 
						|
        boxed.Value = value;
 | 
						|
        return boxed;
 | 
						|
    }
 | 
						|
}
 |