Search in sources :

Example 1 with CoreEntity

use of com.ilargia.games.entitas.core.CoreEntity in project Entitas-Java by Rubentxu.

the class DelaySystem method execute.

@Override
public void execute(float deltatime) {
    for (CoreEntity e : _group.getEntities()) {
        Delay delay = e.getDelay();
        delay.time += deltatime;
        if (delay.time > delay.duration) {
            PongGame.ebus.post((ChangeStateCommand<PongGame>) (nameState, game) -> game.changeState(game.getPongState(), game.getSlideTransition()));
            delay.time = 0;
        }
    }
}
Also used : CoreEntity(com.ilargia.games.entitas.core.CoreEntity) PongGame(com.ilargia.games.entitas.PongGame) ChangeStateCommand(com.ilargia.games.entitas.egdx.api.ChangeStateCommand) Group(com.ilargia.games.entitas.group.Group) CoreMatcher(com.ilargia.games.entitas.core.CoreMatcher) IExecuteSystem(com.ilargia.games.entitas.api.system.IExecuteSystem) CoreContext(com.ilargia.games.entitas.core.CoreContext) Delay(com.ilargia.games.logicbrick.component.Delay) CoreEntity(com.ilargia.games.entitas.core.CoreEntity) Delay(com.ilargia.games.logicbrick.component.Delay) PongGame(com.ilargia.games.entitas.PongGame)

Example 2 with CoreEntity

use of com.ilargia.games.entitas.core.CoreEntity in project Entitas-Java by Rubentxu.

the class InputSystem method execute.

@Override
public void execute(float deltatime) {
    for (CoreEntity e : _group.getEntities()) {
        Motion motion = e.getMotion();
        Player player = e.getPlayer();
        View view = e.getView();
        if (player.id == Player.ID.PLAYER1) {
            motion.velocity.y = 0;
            if (movesUp(Input.Keys.W, (Rectangle) view.shape)) {
                motion.velocity.y = Pong.PLAYER_SPEED;
            }
            if (movesDown(Input.Keys.S, (Rectangle) view.shape)) {
                motion.velocity.y = -Pong.PLAYER_SPEED;
            }
        }
        if (player.id == Player.ID.PLAYER2) {
            motion.velocity.y = 0;
            if (movesUp(Input.Keys.UP, (Rectangle) view.shape)) {
                motion.velocity.y = Pong.PLAYER_SPEED;
            }
            if (movesDown(Input.Keys.DOWN, (Rectangle) view.shape)) {
                motion.velocity.y = -Pong.PLAYER_SPEED;
            }
        }
    }
}
Also used : CoreEntity(com.ilargia.games.entitas.core.CoreEntity) Motion(com.ilargia.games.logicbrick.component.Motion) Player(com.ilargia.games.logicbrick.component.Player) View(com.ilargia.games.logicbrick.component.View)

Example 3 with CoreEntity

use of com.ilargia.games.entitas.core.CoreEntity in project Entitas-Java by Rubentxu.

the class BoundsSystem method execute.

@Override
public void execute(float deltatime) {
    CoreEntity ball = _context.getBallEntity();
    Circle ballShape = (Circle) ball.getView().shape;
    Motion motion = ball.getMotion();
    for (CoreEntity e : _groupPlayer.getEntities()) {
        Player player = e.getPlayer();
        Score score = e.getScore();
        if (ballShape.x + ballShape.radius <= -(WIDTH / 2) && player.id == Player.ID.PLAYER2)
            restart(ballShape, motion, score);
        if (ballShape.x - ballShape.radius >= (WIDTH / 2) && player.id == Player.ID.PLAYER1)
            restart(ballShape, motion, score);
    }
}
Also used : CoreEntity(com.ilargia.games.entitas.core.CoreEntity) Circle(com.badlogic.gdx.math.Circle) Motion(com.ilargia.games.logicbrick.component.Motion) Player(com.ilargia.games.logicbrick.component.Player) Score(com.ilargia.games.logicbrick.component.Score)

Example 4 with CoreEntity

use of com.ilargia.games.entitas.core.CoreEntity in project Entitas-Java by Rubentxu.

the class RendererSystem method render.

@Override
public void render() {
    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    cam.update();
    sr.setProjectionMatrix(cam.combined);
    sr.begin(ShapeRenderer.ShapeType.Filled);
    sr.setColor(Color.WHITE);
    for (CoreEntity e : _group.getEntities()) {
        View view = e.getView();
        System.out.printf("..views");
        if (view.shape instanceof Rectangle) {
            Rectangle ret = (Rectangle) view.shape;
            sr.rect(ret.x, ret.y, ret.width, ret.height);
        } else {
            Circle circle = (Circle) view.shape;
            sr.circle(circle.x, circle.y, circle.radius);
        }
    }
    sr.end();
    batch.begin();
    for (CoreEntity e : _groupScore.getEntities()) {
        Score score = e.getScore();
        font.draw(batch, score.text + " " + score.points, score.x, score.y);
    }
    for (CoreEntity e : _groupTextureView.getEntities()) {
        TextureView textureView = e.getTextureView();
        batch.draw(textureView.texture, textureView.position.x, textureView.position.y, 0, 0, textureView.width, textureView.height, 1, 1, textureView.rotation);
    }
    batch.end();
}
Also used : CoreEntity(com.ilargia.games.entitas.core.CoreEntity) Circle(com.badlogic.gdx.math.Circle) Score(com.ilargia.games.logicbrick.component.Score) Rectangle(com.badlogic.gdx.math.Rectangle) TextureView(com.ilargia.games.logicbrick.component.TextureView) TextureView(com.ilargia.games.logicbrick.component.TextureView) View(com.ilargia.games.logicbrick.component.View)

Example 5 with CoreEntity

use of com.ilargia.games.entitas.core.CoreEntity in project Entitas-Java by Rubentxu.

the class ContactSystem method execute.

@Override
public void execute(float deltatime) {
    CoreEntity ball = _context.getBallEntity();
    Circle ballShape = (Circle) ball.getView().shape;
    Motion ballMotion = ball.getMotion();
    if (ballShape.y - ballShape.radius <= -(Pong.SCREEN_HEIGHT / 2)) {
        ballShape.setY(-(Pong.SCREEN_HEIGHT / 2) + ballShape.radius);
        ballMotion.velocity.y = -(ballMotion.velocity.y + 10);
        ballMotion.velocity.x = ballMotion.velocity.x + 10;
    }
    if (ballShape.y + ballShape.radius >= (Pong.SCREEN_HEIGHT / 2)) {
        ballShape.setY((Pong.SCREEN_HEIGHT / 2) - ballShape.radius);
        ballMotion.velocity.y = -(ballMotion.velocity.y + 10);
        ballMotion.velocity.x = ballMotion.velocity.x + 10;
    }
    for (CoreEntity e : _group.getEntities()) {
        View view = e.getView();
        circleRectCollision(ballShape, (Rectangle) view.shape, ballMotion);
    }
}
Also used : CoreEntity(com.ilargia.games.entitas.core.CoreEntity) Circle(com.badlogic.gdx.math.Circle) Motion(com.ilargia.games.logicbrick.component.Motion) View(com.ilargia.games.logicbrick.component.View)

Aggregations

CoreEntity (com.ilargia.games.entitas.core.CoreEntity)6 Circle (com.badlogic.gdx.math.Circle)4 Motion (com.ilargia.games.logicbrick.component.Motion)4 View (com.ilargia.games.logicbrick.component.View)4 Rectangle (com.badlogic.gdx.math.Rectangle)2 Player (com.ilargia.games.logicbrick.component.Player)2 Score (com.ilargia.games.logicbrick.component.Score)2 PongGame (com.ilargia.games.entitas.PongGame)1 IExecuteSystem (com.ilargia.games.entitas.api.system.IExecuteSystem)1 CoreContext (com.ilargia.games.entitas.core.CoreContext)1 CoreMatcher (com.ilargia.games.entitas.core.CoreMatcher)1 ChangeStateCommand (com.ilargia.games.entitas.egdx.api.ChangeStateCommand)1 Group (com.ilargia.games.entitas.group.Group)1 Delay (com.ilargia.games.logicbrick.component.Delay)1 TextureView (com.ilargia.games.logicbrick.component.TextureView)1