2015-04-08 15:59:01 +02:00
|
|
|
package com.saltosion.gladiator;
|
|
|
|
|
2015-04-08 18:19:14 +02:00
|
|
|
import com.badlogic.ashley.core.Engine;
|
2015-04-08 19:15:14 +02:00
|
|
|
import com.badlogic.ashley.core.Entity;
|
|
|
|
import com.badlogic.ashley.core.EntityListener;
|
2015-04-08 15:59:01 +02:00
|
|
|
import com.badlogic.gdx.ApplicationAdapter;
|
|
|
|
import com.badlogic.gdx.Gdx;
|
2015-04-08 18:19:14 +02:00
|
|
|
import com.badlogic.gdx.graphics.g2d.Sprite;
|
2015-04-09 20:16:49 +02:00
|
|
|
import com.badlogic.gdx.math.Vector2;
|
2015-04-09 00:14:07 +02:00
|
|
|
import com.saltosion.gladiator.components.CPhysics;
|
2015-04-08 19:15:14 +02:00
|
|
|
import com.saltosion.gladiator.components.CRenderedObject;
|
2015-04-10 16:30:30 +02:00
|
|
|
import com.saltosion.gladiator.input.InputHandler;
|
2015-05-08 20:18:12 +02:00
|
|
|
import com.saltosion.gladiator.systems.PhysicsSystem;
|
2015-04-08 19:15:14 +02:00
|
|
|
import com.saltosion.gladiator.systems.RenderingSystem;
|
2015-04-10 16:30:30 +02:00
|
|
|
import com.saltosion.gladiator.util.AppUtil;
|
2015-05-08 20:18:12 +02:00
|
|
|
import com.saltosion.gladiator.util.Global;
|
2015-04-10 16:30:30 +02:00
|
|
|
import com.saltosion.gladiator.util.Name;
|
2015-04-08 18:19:14 +02:00
|
|
|
import com.saltosion.gladiator.util.SpriteLoader;
|
2015-04-10 16:30:30 +02:00
|
|
|
import com.saltosion.gladiator.util.SpriteSequence;
|
2015-04-08 15:59:01 +02:00
|
|
|
|
|
|
|
public class GladiatorBrawler extends ApplicationAdapter {
|
2015-05-08 20:18:12 +02:00
|
|
|
|
2015-05-10 00:09:54 +02:00
|
|
|
private Engine engine;
|
|
|
|
private InputHandler inputHandler;
|
|
|
|
|
|
|
|
private Entity player;
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void create() {
|
|
|
|
// Initialize the Engine
|
|
|
|
engine = new Engine();
|
|
|
|
|
|
|
|
engine.addSystem(new PhysicsSystem());
|
|
|
|
engine.addEntityListener(new EntityListener() {
|
|
|
|
@Override
|
|
|
|
public void entityAdded(Entity entity) {
|
|
|
|
PhysicsSystem ps = engine.getSystem(PhysicsSystem.class);
|
|
|
|
ps.updateEntities(engine);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void entityRemoved(Entity entity) {
|
|
|
|
PhysicsSystem ps = engine.getSystem(PhysicsSystem.class);
|
|
|
|
ps.updateEntities(engine);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
engine.addSystem(new RenderingSystem());
|
|
|
|
engine.addEntityListener(new EntityListener() {
|
|
|
|
@Override
|
|
|
|
public void entityRemoved(Entity entity) {
|
|
|
|
RenderingSystem rs = engine.getSystem(RenderingSystem.class);
|
|
|
|
rs.updateEntities(engine);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void entityAdded(Entity entity) {
|
|
|
|
RenderingSystem rs = engine.getSystem(RenderingSystem.class);
|
|
|
|
rs.updateEntities(engine);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
// Initialize stuff in the world
|
|
|
|
initializePlayer();
|
|
|
|
initializeLevel();
|
|
|
|
|
|
|
|
// Initialize input
|
|
|
|
inputHandler = new InputHandler();
|
|
|
|
Gdx.input.setInputProcessor(inputHandler);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void render() {
|
|
|
|
engine.update(Gdx.graphics.getDeltaTime());
|
|
|
|
}
|
|
|
|
|
|
|
|
public void initializePlayer() {
|
|
|
|
player = new Entity();
|
|
|
|
|
|
|
|
CRenderedObject renderedObject = new CRenderedObject();
|
|
|
|
Sprite player1 = SpriteLoader.loadSprite(Name.PLAYERIMG, 0, 0, 64, 64);
|
|
|
|
Sprite player2 = SpriteLoader.loadSprite(Name.PLAYERIMG, 1, 0, 64, 64);
|
|
|
|
SpriteSequence sequence = new SpriteSequence(1).addSprite(player1).addSprite(player2);
|
|
|
|
renderedObject.addSequence("Idle", sequence);
|
|
|
|
renderedObject.playAnimation("Idle");
|
|
|
|
player.add(renderedObject);
|
|
|
|
player.add(new CPhysics().setSize(player1.getRegionWidth() * Global.SPRITE_SCALE,
|
|
|
|
player1.getRegionHeight() * Global.SPRITE_SCALE).setPosition(0, 5));
|
|
|
|
|
|
|
|
engine.addEntity(player);
|
|
|
|
|
|
|
|
AppUtil.player = player;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void initializeLevel() {
|
|
|
|
Entity ground = new Entity();
|
|
|
|
|
|
|
|
Sprite groundSprite = SpriteLoader.loadSprite(Name.GROUNDIMG, 0, 0, 256, 64);
|
|
|
|
CRenderedObject renderedObject = new CRenderedObject(groundSprite);
|
|
|
|
ground.add(renderedObject);
|
|
|
|
CPhysics physics = new CPhysics().setMovable(false).setGravityApplied(false).setDynamic(false)
|
|
|
|
.setSize(groundSprite.getRegionWidth() * Global.SPRITE_SCALE,
|
|
|
|
groundSprite.getRegionHeight() * Global.SPRITE_SCALE);
|
|
|
|
physics.position.set(new Vector2(0, -4));
|
|
|
|
ground.add(physics);
|
|
|
|
|
|
|
|
Sprite wallSprite = SpriteLoader.loadSprite(Name.WALLIMG, 0, 0, 64, 64);
|
|
|
|
|
|
|
|
Entity wall0 = new Entity();
|
|
|
|
CRenderedObject wall0RenderedObject = new CRenderedObject(wallSprite);
|
|
|
|
CPhysics wall0Physics = new CPhysics().setMovable(false).setGravityApplied(false).setDynamic(false)
|
|
|
|
.setSize(wallSprite.getRegionWidth() * Global.SPRITE_SCALE,
|
|
|
|
wallSprite.getRegionHeight() * Global.SPRITE_SCALE);
|
|
|
|
wall0Physics.position.set(new Vector2(6, 0));
|
|
|
|
wall0.add(wall0RenderedObject);
|
|
|
|
wall0.add(wall0Physics);
|
|
|
|
|
|
|
|
Entity wall1 = new Entity();
|
|
|
|
CRenderedObject wall1RenderedObject = new CRenderedObject(wallSprite);
|
|
|
|
CPhysics wall1Physics = new CPhysics().setMovable(false).setGravityApplied(false).setDynamic(false)
|
|
|
|
.setSize(wallSprite.getRegionWidth() * Global.SPRITE_SCALE,
|
|
|
|
wallSprite.getRegionHeight() * Global.SPRITE_SCALE);
|
|
|
|
wall1Physics.position.set(new Vector2(-6, 0));
|
|
|
|
wall1.add(wall1RenderedObject);
|
|
|
|
wall1.add(wall1Physics);
|
|
|
|
|
|
|
|
engine.addEntity(ground);
|
|
|
|
engine.addEntity(wall0);
|
|
|
|
engine.addEntity(wall1);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void resize(int width, int height) {
|
|
|
|
super.resize(width, height);
|
|
|
|
RenderingSystem rs = engine.getSystem(RenderingSystem.class);
|
|
|
|
float aspectratio = ((float) width) / ((float) height);
|
|
|
|
rs.setViewport((int) (AppUtil.VPHEIGHT_CONST * aspectratio), AppUtil.VPHEIGHT_CONST);
|
|
|
|
}
|
2015-04-08 15:59:01 +02:00
|
|
|
}
|