package com.mediamonks.googleflip.pages.game.physics.levels; import android.graphics.Bitmap; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.physics.box2d.FixtureDef; import org.andengine.extension.physics.box2d.PhysicsWorld; /** * Interface for game level physics & UI classes */ public interface GameLevel { /** * Initialize the level * @param width level width * @param height level height * @param scale level scale * @param density level density */ void init(int width, int height, float scale, float density); /** * Create the physics & UI * @param world the physics world to create the physical objects in * @param fixtureDef fixture definition for walls */ void createLevel(PhysicsWorld world, FixtureDef fixtureDef); /** * @return the position of the ball spawn location */ Vector2 getBallSpawnLocation(); /** * @return the position of the sink hole */ Vector2 getSinkholeLocation(); /** * the url of the background image */ String getBackgroundUrl(); /** * @return the background bitmap */ Bitmap getBackground(); /** * @return the duration of the level in seconds */ float getLevelDuration(); void dispose(); }