diff options
Diffstat (limited to 'core/src/main/java/coffee/liz/dyl/entities')
| -rw-r--r-- | core/src/main/java/coffee/liz/dyl/entities/WallFactory.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/core/src/main/java/coffee/liz/dyl/entities/WallFactory.java b/core/src/main/java/coffee/liz/dyl/entities/WallFactory.java new file mode 100644 index 0000000..cd4f6a2 --- /dev/null +++ b/core/src/main/java/coffee/liz/dyl/entities/WallFactory.java @@ -0,0 +1,34 @@ +package coffee.liz.dyl.entities; + +import coffee.liz.dyl.components.graphic.TextureGraphic; +import coffee.liz.dyl.components.physics.BoundingBox; +import coffee.liz.dyl.components.physics.Solid; +import coffee.liz.ecs.math.Vec2f; +import coffee.liz.ecs.model.Entity; +import coffee.liz.ecs.model.World; +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.files.FileHandle; +import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.graphics.g2d.TextureRegion; + +public class WallFactory { + private static final WallAssets ASSETS = new WallAssets(); + public static Entity addTo(final World world) { + return world.createEntity() + .add(new TextureGraphic(0, Color.WHITE, ASSETS.textureRegion)) + .add(new Solid()) + .add(new BoundingBox(new Vec2f(1f, 1f), new Vec2f(1f, 1f))); + } + + private static class WallAssets { + private static final FileHandle FILE = Gdx.files.internal("noir/Underground.png"); + final Texture texture; + final TextureRegion textureRegion; + + public WallAssets() { + texture = new Texture(FILE); + textureRegion = new TextureRegion(texture, 24, 17, 4, 4); + } + } +} |
