51 lines
1.3 KiB
Java

package de.frajul.endlessroll.rendering;
import android.content.Context;
import android.view.View;
import de.frajul.endlessroll.entities.textures.TexturePack;
import de.frajul.endlessroll.main.GameActivity;
import de.frajul.endlessroll.main.game.Scene;
import de.frajul.endlessroll.main.game.Timer;
import de.frajul.endlessroll.rendering.renderer.GameRenderer;
/**
* Created by Julian on 26.11.2015.
*/
public abstract class Rendering<S extends Scene> {
protected S scene;
private GameActivity gameActivity;
private boolean alreadyInitiated = false;
public Rendering(GameActivity gameActivity, GameRenderer gameRenderer) {
this.gameActivity = gameActivity;
gameRenderer.addRenderTarget(this);
}
public void initiate(TexturePack texturePack, Timer timer) {
this.scene = init(texturePack, timer, !alreadyInitiated);
alreadyInitiated = true;
}
protected abstract S init(TexturePack texturePack, Timer timer, boolean isFirstTime);
public abstract void update();
public abstract void onTouch(float x, float y);
public void setScreenSize(int width, int height) {
if (scene != null)
scene.setScreenSize(width, height);
}
public Scene getScene() {
return scene;
}
public Context getContext() {
return gameActivity;
}
}