ch.p1gu.game.systeme.affichage.DessinerFormes.java Source code

Java tutorial

Introduction

Here is the source code for ch.p1gu.game.systeme.affichage.DessinerFormes.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package ch.p1gu.game.systeme.affichage;

import ch.p1gu.game.composant.Dimension;
import ch.p1gu.game.composant.Position;
import com.artemis.Aspect;
import com.artemis.ComponentMapper;
import com.artemis.Entity;
import com.artemis.annotations.Mapper;
import com.artemis.systems.EntityProcessingSystem;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer.ShapeType;

/**
 * 
 * @author Michael
 */
public class DessinerFormes extends EntityProcessingSystem {

    @Mapper
    private ComponentMapper<Position> mapperPos;
    @Mapper
    private ComponentMapper<Dimension> mapperDim;

    private ShapeRenderer rendererFilled;

    public DessinerFormes() {
        super(Aspect.getAspectForAll(Position.class, Dimension.class));
    }

    @Override
    protected void initialize() {
        rendererFilled = new ShapeRenderer();

    }

    @Override
    protected void begin() {
        // on dmarre notre renderer de faon  ce qu'il dessine des contours
        rendererFilled.begin(ShapeType.Filled);
    }

    @Override
    protected void end() {
        //  la fin de l'xecution de notre systme, on referme notre
        // renderer
        rendererFilled.end();
    }

    @Override
    protected void process(Entity e) {
        // on rcupre la position  l'aide du mapper de position
        Position p = mapperPos.get(e);
        // on rcupre la dimension  l'aide du mapper de dimensions
        Dimension d = mapperDim.get(e);

        rendererFilled.rect(p.x, p.y, d.largeur, d.hauteur);

    }

}