package com.mediamonks.googleflip.pages.game.physics.levels;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.physics.box2d.Body;
import com.badlogic.gdx.physics.box2d.BodyDef;
import com.badlogic.gdx.physics.box2d.FixtureDef;
import com.mediamonks.googleflip.pages.game.physics.constants.ObjectName;
import com.mediamonks.googleflip.pages.game.physics.control.WorldController;
import org.andengine.extension.physics.box2d.PhysicsFactory;
import org.andengine.extension.physics.box2d.PhysicsWorld;
/**
* Game level to practise game play
*/
public class PractiseLevel extends AbstractGameLevel implements GameLevel {
private static final String TAG = PractiseLevel.class.getSimpleName();
private Body _centerSensor;
public PractiseLevel() {
_originalWidth = 156;
_originalHeight = 277;
}
@Override
public void createLevel(PhysicsWorld world, FixtureDef fixtureDef) {
createBox(world, fixtureDef, _originalWidth / 2, _originalHeight, _originalWidth, 5);
createBox(world, fixtureDef, _originalWidth / 2, 0, _originalWidth, 5);
createBox(world, fixtureDef, 0, _originalHeight / 2, 5, _originalHeight);
createBox(world, fixtureDef, _originalWidth, _originalHeight / 2, 5, _originalHeight);
_centerSensor = PhysicsFactory.createCircleBody(world, _scale * _originalWidth / 2, _scale * _originalHeight / 2, .1f * _width,
BodyDef.BodyType.StaticBody, WorldController.SENSOR_FIX_DEF);
_centerSensor.setUserData(ObjectName.CENTER_SENSOR_NAME);
}
@Override
public Vector2 getBallSpawnLocation() {
assertInitialized();
return getScaledVector(78, 137);
}
@Override
public Vector2 getSinkholeLocation() {
return null;
}
public Body getCenterSensor() {
return _centerSensor;
}
@Override
public String getBackgroundUrl() {
return null;
}
@Override
public float getLevelDuration() {
return 0.0f;
}
}