use of com.b3dgs.lionengine.game.feature.Transformable in project lionengine by b3dgs.
the class TileCollidableModelTest method testFromRight.
/**
* Test the collidable from right.
*/
@Test
void testFromRight() {
final Transformable transformable = createObject(new FeaturableModel(services, setup));
final AtomicReference<Tile> collided = new AtomicReference<>();
final TileCollidableListener listener = createListener(collided);
collidable.addListener(listener);
transformable.teleport(3.0, 0.0);
transformable.moveLocation(1.0, -2.0, 0.0);
collidable.update(1.0);
assertEquals(map.getTile(2, 0), collided.get());
}
use of com.b3dgs.lionengine.game.feature.Transformable in project lionengine by b3dgs.
the class MapTilePathModelTest method createObject.
/**
* Create object test.
*
* @return The object test.
*/
private Pathfindable createObject() {
final FeaturableModel object = new FeaturableModel(services, setup);
final Transformable transformable = object.addFeatureAndGet(new TransformableModel(services, setup));
transformable.setSize(1, 1);
return object.addFeatureAndGet(new PathfindableModel(services, setup));
}
use of com.b3dgs.lionengine.game.feature.Transformable in project lionengine by b3dgs.
the class Scene method load.
@Override
public void load() {
map.create(Medias.create("forest.png"));
final MapTileGroup mapGroup = map.addFeatureAndGet(new MapTileGroupModel());
final MapTilePath mapPath = map.addFeatureAndGet(new MapTilePathModel());
camera.setView(VIEW_X, VIEW_Y, getWidth() - VIEW_X, getHeight() - VIEW_Y, getHeight());
camera.setLimits(map);
camera.setLocation(160, 96);
map.addFeature(new MapTileViewerModel(services));
handler.add(map);
mapGroup.loadGroups(Medias.create("groups.xml"));
mapPath.loadPathfinding(Medias.create("pathfinding.xml"));
cursor.addImage(0, Medias.create("cursor.png"));
cursor.addImage(1, Medias.create("cursor_order.png"));
cursor.load();
cursor.setGrid(map.getTileWidth(), map.getTileHeight());
cursor.setSync(mouse);
cursor.setViewer(camera);
final Factory factory = services.create(Factory.class);
final Media media = Medias.create("Hud.xml");
final Hud hud = factory.create(media);
handler.add(hud);
final Selector selector = services.get(Selector.class);
selector.addFeatureAndGet(new LayerableModel(4));
selector.setClickableArea(camera);
selector.setSelectionColor(ColorRgba.GREEN);
selector.setClickSelection(MouseAwt.LEFT);
final Featurable peon = factory.create(Medias.create("Peon.xml"));
peon.getFeature(Pathfindable.class).setLocation(20, 10);
handler.add(peon);
transformable = peon.getFeature(Transformable.class);
tick.start();
}
use of com.b3dgs.lionengine.game.feature.Transformable in project lionengine by b3dgs.
the class CollidableModelTest method createFeaturable.
/**
* Create a featurable test.
*
* @param config The configuration reference.
* @param services The services reference.
* @return The featurable test.
*/
public static FeaturableModel createFeaturable(Media config, Services services) {
final Setup setup = new Setup(config);
final FeaturableModel featurable = new FeaturableModel(services, setup);
final Transformable transformable = featurable.addFeatureAndGet(new TransformableModel(services, setup));
transformable.setLocation(1.0, 2.0);
transformable.setSize(2, 2);
featurable.addFeature(new CollidableModel(services, setup));
return featurable;
}
use of com.b3dgs.lionengine.game.feature.Transformable in project lionengine by b3dgs.
the class CollidableFramedModelTest method createFeaturable.
/**
* Create a featurable test.
*
* @param config The configuration reference.
* @param services The services reference.
* @return The featurable test.
*/
public static FeaturableModel createFeaturable(Media config, Services services) {
final Setup setup = new Setup(config);
final FeaturableModel featurable = new FeaturableModel(services, setup);
final Transformable transformable = featurable.addFeatureAndGet(new TransformableModel(services, setup));
transformable.setLocation(1.0, 2.0);
featurable.addFeature(new AnimatableModel(services, setup));
featurable.addFeatureAndGet(new CollidableModel(services, setup));
featurable.addFeature(new CollidableFramedModel(services, setup));
return featurable;
}
Aggregations