58 lines
1.3 KiB
Java
58 lines
1.3 KiB
Java
package sagittarius.view;
|
|
|
|
import com.badlogic.gdx.Gdx;
|
|
import com.badlogic.gdx.graphics.GL30;
|
|
import com.badlogic.gdx.scenes.scene2d.Stage;
|
|
|
|
import com.badlogic.gdx.Screen;
|
|
|
|
public abstract class BaseScreen implements Screen {
|
|
|
|
protected Stage mainStage;
|
|
protected Stage uiStage;
|
|
|
|
public BaseScreen() {
|
|
mainStage = new Stage();
|
|
mainStage.getRoot().setTransform(false);
|
|
uiStage = new Stage();
|
|
uiStage.getRoot().setTransform(false);
|
|
initialize();
|
|
}
|
|
|
|
public abstract void initialize();
|
|
public abstract void update(float dt);
|
|
|
|
@Override
|
|
public void render(float dt) {
|
|
|
|
// update
|
|
update(dt);
|
|
|
|
// update Stages
|
|
uiStage.act(dt);
|
|
mainStage.act(dt);
|
|
|
|
// clear screen
|
|
Gdx.gl.glClearColor(0,0,0,1);
|
|
Gdx.gl.glClear(GL30.GL_COLOR_BUFFER_BIT);
|
|
|
|
// draw actors on screnn
|
|
mainStage.draw();
|
|
uiStage.draw();
|
|
}
|
|
|
|
@Override public void dispose() {
|
|
uiStage.dispose();
|
|
mainStage.dispose();
|
|
}
|
|
|
|
@Override public void resize(int width, int height) {
|
|
mainStage.getViewport().update(width, height, true);
|
|
}
|
|
|
|
@Override public void pause() {}
|
|
@Override public void resume() {}
|
|
@Override public void show() {}
|
|
@Override public void hide() {}
|
|
|
|
} |