Files
CollectorMono/Collector/OLD/LegacyJava/Collector/Main.java

95 lines
2.3 KiB
Java

package Collector;
import Collector.Dimension.*;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL30;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.utils.viewport.ExtendViewport;
import Collector.Character.InputController;
import Collector.Character.Mouse;
import Collector.Character.Player;
import Collector.UI.GUI;
import static Collector.Restrictions.*;
public class Main extends ApplicationAdapter {
private Stage stage;
private SpriteBatch batch;
private WorldRenderer worldRenderer;
private GUI gui;
private ExtendViewport extendViewport;
public static float chunkLoadingTime = 0;
float playerAnimationTime = 0f; //accumulator
public static OrthographicCamera cam;
private InputController inputController;
private Mouse mouse;
private Player player;
@Override
public void create () {
Gdx.graphics.setWindowedMode(1024, 576);
//Declaring all objects needed for the game
cam = new OrthographicCamera(VIEWPORT_WIDTH, VIEWPORT_HEIGHT);
extendViewport = new ExtendViewport(VIEWPORT_WIDTH, VIEWPORT_HEIGHT, cam);
mouse = new Mouse();
player = new Player(0, 0);
inputController = new InputController(player,mouse);
worldRenderer = new WorldRenderer(inputController,mouse,player);
batch = new SpriteBatch();
stage = new Stage();
gui = new GUI(stage);
Gdx.input.setInputProcessor(stage);
BlockMaterials.create();
Chunks.createStructures();
//cam.translate(TILE_SIZE, TILE_SIZE);
cam.zoom = 25f;
}
@Override
public void resize(int width, int height) {
stage.getViewport().update(width, height, true);
}
@Override
public void render () {
float deltaTime = Gdx.graphics.getDeltaTime();
Gdx.gl.glClear(GL30.GL_COLOR_BUFFER_BIT);
playerAnimationTime += deltaTime;
chunkLoadingTime += deltaTime;
gui.debugInfo(stage,mouse);
stage.act(deltaTime);
batch.begin();
worldRenderer.render(batch,playerAnimationTime);
if (chunkLoadingTime > RENDER_TIME) {
chunkLoadingTime -= RENDER_TIME;
World.loadChunks();
World.unloadChunks();
}
cam.update();
batch.end();
stage.draw();
}
@Override
public void dispose () {
gui.dispose();
player.dispose();
stage.dispose();
batch.dispose();
}
}