51 lines
1.3 KiB
Java
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;
|
|
}
|
|
|
|
}
|