package com.indignado.functional.test.levels.base.entities; import com.badlogic.ashley.core.Entity; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.assets.AssetManager; import com.badlogic.gdx.physics.box2d.Body; import com.indignado.logicbricks.components.IdentityComponent; import com.indignado.logicbricks.components.RigidBodiesComponents; import com.indignado.logicbricks.components.StateComponent; import com.indignado.logicbricks.core.EntityFactory; import com.indignado.logicbricks.utils.builders.BodyBuilder; import com.indignado.logicbricks.utils.builders.EntityBuilder; import com.indignado.logicbricks.utils.builders.FixtureDefBuilder; import com.indignado.logicbricks.utils.builders.LBBuilders; /** * @author Rubentxu. */ public class Wall extends EntityFactory { public Wall(LBBuilders builders, AssetManager assetManager) { super(builders, assetManager); } @Override public void loadAssets() { } @Override public Entity createEntity() { EntityBuilder entityBuilder = builders.getEntityBuilder(); entityBuilder.initialize(); BodyBuilder bodyBuilder = builders.getBodyBuilder(); IdentityComponent identity = entityBuilder.getComponent(IdentityComponent.class); identity.tag = "Wall"; //identity.category = game.getCategoryBitsManager().getCategoryBits("Wall"); StateComponent state = entityBuilder.getComponent(StateComponent.class); state.createState("Default"); Body bodyWall = bodyBuilder.fixture(new FixtureDefBuilder() .boxShape(1, 20) .friction(0.5f) .restitution(0.5f)) .build(); RigidBodiesComponents bodiesComponents = entityBuilder.getComponent(RigidBodiesComponents.class); bodiesComponents.rigidBodies.add(bodyWall); Entity entity = entityBuilder.getEntity(); Gdx.app.log("Wall", "instance" + entity); return entity; } }