package com.fdangelo.circleworld.universeengine.utils; import com.badlogic.gdx.math.Vector2; public final class PoolVector2 { private final Vector2[][] pool; private int poolSize; public PoolVector2(final int maxPoolSize) { pool = new Vector2[maxPoolSize][]; } public final Vector2[] getArray(final int size) { for (int i = 0; i < poolSize; i++) { if (pool[i].length == size) { final Vector2[] toReturn = pool[i]; pool[i] = pool[poolSize - 1]; poolSize--; return toReturn; } } final Vector2[] toReturn = new Vector2[size]; for (int i = 0; i < size; i++) { toReturn[i] = new Vector2(); } return toReturn; } public final void returnArray(final Vector2[] array) { if (array != null) { pool[poolSize++] = array; } } }