1 package ru
.deadsoftware
.cavedroid
.misc
;
3 import com
.badlogic
.gdx
.InputProcessor
;
4 import com
.badlogic
.gdx
.graphics
.OrthographicCamera
;
5 import com
.badlogic
.gdx
.graphics
.g2d
.SpriteBatch
;
6 import com
.badlogic
.gdx
.graphics
.glutils
.ShapeRenderer
;
7 import ru
.deadsoftware
.cavedroid
.GameScreen
;
9 public abstract class Renderer
implements InputProcessor
{
11 private final OrthographicCamera camera
;
13 protected final ShapeRenderer shaper
;
14 protected final SpriteBatch spriter
;
16 protected Renderer() {
17 this(GameScreen
.getWidth(), GameScreen
.getHeight());
20 protected Renderer(float width
, float height
) {
21 camera
= new OrthographicCamera();
22 camera
.setToOrtho(true, width
, height
);
23 shaper
= new ShapeRenderer();
24 shaper
.setProjectionMatrix(camera
.combined
);
25 spriter
= new SpriteBatch();
26 spriter
.setProjectionMatrix(camera
.combined
);
29 public float getWidth() {
30 return camera
.viewportWidth
;
33 public float getHeight() {
34 return camera
.viewportHeight
;
37 public float getCamX() {
38 return camera
.position
.x
;
41 public float getCamY() {
42 return camera
.position
.y
;
45 public void setCamPos(float x
, float y
) {
46 camera
.position
.set(x
, y
, 0);
49 public void setFontScale(float scale
) {
50 Assets
.minecraftFont
.getData().setScale(scale
);
53 protected void setFontColor(int r
, int g
, int b
) {
54 Assets
.minecraftFont
.setColor(r
/ 255f, g
/ 255f, b
/ 255f, 1f);
57 protected void drawString(String str
, float x
, float y
) {
58 Assets
.minecraftFont
.draw(spriter
, str
, x
, y
);
61 protected void drawString(String str
) {
62 Assets
.minecraftFont
.draw(spriter
, str
,
63 getWidth() / 2 - (float) Assets
.getStringWidth(str
) / 2,
64 getHeight() / 2 - (float) Assets
.getStringHeight(str
) / 2);
67 public abstract void render();
70 public boolean keyDown(int keycode
) {
75 public boolean keyUp(int keycode
) {
80 public boolean keyTyped(char character
) {
85 public boolean touchDown(int screenX
, int screenY
, int pointer
, int button
) {
90 public boolean touchUp(int screenX
, int screenY
, int pointer
, int button
) {
95 public boolean touchDragged(int screenX
, int screenY
, int pointer
) {
100 public boolean mouseMoved(int screenX
, int screenY
) {
105 public boolean scrolled(int amount
) {