package net.onedaybeard.dominatrix.pool; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Pool; public final class Vector2Pool { private static Factory factory = new Factory(); private Vector2Pool() { } public static Vector2 vector2() { return factory.obtain(); } public static Vector2 vector2(float x, float y) { return factory.obtain().set(x, y); } public static Vector2 vector2(Vector2 vector) { return factory.obtain().set(vector); } public static void free(Vector2 v) { factory.free(v); } public static void free(Vector2... vs) { for (int i = 0; vs.length > i; i++) free(vs[i]); } private static class Factory extends Pool<Vector2> { @Override protected Vector2 newObject() { return new Vector2(); } @Override public void free(Vector2 object) { object.set(0, 0); super.free(object); } } }