package com.amaya.game;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
/** Class designed for giving ability to easy mock all low level LibGdx objects. */
public class LibGdxFactory {
/** Singleton instance. */
private static LibGdxFactory INSTANCE = new LibGdxFactory();
/** Hidden constructor. */
private LibGdxFactory() {
// do nothing
}
/** private constructor, allows Mockito to replace instance by Mock object. */
private LibGdxFactory(final LibGdxFactory mock) {
INSTANCE = mock;
}
/** Get instance. */
public static LibGdxFactory getInstance() {
return INSTANCE;
}
/* [ UNIT TESTING/MOCKS ] ================================================================================================================================ */
public SpriteBatch newSpriteBatch() {
return new SpriteBatch();
}
public ShapeRenderer newShapeRenderer() {
return new ShapeRenderer();
}
public OrthographicCamera newOrthographicCamera() {
final OrthographicCamera mUiCamera = new OrthographicCamera(
Spacefish.Dimensions.VIRTUAL_SCREEN_WIDTH,
Spacefish.Dimensions.VIRTUAL_SCREEN_HEIGHT);
mUiCamera.position.set(
Spacefish.Dimensions.VIRTUAL_SCREEN_WIDTH / 2,
Spacefish.Dimensions.VIRTUAL_SCREEN_HEIGHT / 2, 0);
return mUiCamera;
}
}