use of com.b3dgs.lionengine.game.feature.TransformableModel in project lionengine by b3dgs.
the class LauncherModelTest method testLauncher.
/**
* Test the launcher.
*
* @throws InterruptedException If error.
*/
@Test
void testLauncher() throws InterruptedException {
final AtomicBoolean fired = new AtomicBoolean();
final AtomicReference<Launchable> firedLaunchable = new AtomicReference<>();
launcher.addListener(UtilLaunchable.createListener(fired));
launcher.addListener(UtilLaunchable.createListener(firedLaunchable));
assertTimeout(1000L, () -> {
while (!launcher.fire()) {
launcher.update(1.0);
continue;
}
});
assertTrue(fired.get());
assertNotNull(firedLaunchable.get());
firedLaunchable.set(null);
final Handler handler = services.get(Handler.class);
handler.update(1.0);
assertEquals(1, handler.size());
final Transformable transformable = new TransformableModel(services, setup);
assertTimeout(1000L, () -> {
while (!launcher.fire(transformable)) {
launcher.update(1.0);
continue;
}
});
assertNotNull(firedLaunchable.get());
firedLaunchable.set(null);
handler.update(1.0);
assertEquals(2, handler.size());
final Localizable localizable = UtilLaunchable.createLocalizable();
assertTimeout(1000L, () -> {
while (!launcher.fire(localizable)) {
launcher.update(1.0);
continue;
}
});
assertNotNull(firedLaunchable.get());
handler.update(1.0);
assertEquals(3, handler.size());
handler.removeAll();
handler.update(1.0);
assertEquals(0, handler.size());
}
use of com.b3dgs.lionengine.game.feature.TransformableModel in project lionengine by b3dgs.
the class OrientableModelTest method prepare.
/**
* Prepare test.
*/
@BeforeEach
public void prepare() {
services.add(new MapTileGame());
featurable.addFeature(new TransformableModel(services, setup));
orientable = new OrientableModel(services, setup);
orientable.prepare(featurable);
}
use of com.b3dgs.lionengine.game.feature.TransformableModel in project lionengine by b3dgs.
the class SceneRasterable method add.
private void add(SetupSurfaceRastered setup, int offsetX) {
final SpriteAnimated surface = Drawable.loadSpriteAnimated(setup.getSurface(), 4, 4);
final Featurable featurable = new FeaturableModel(services, setup);
featurable.addFeature(new MirrorableModel(services, setup));
featurable.addFeature(new AnimatableModel(services, setup, surface));
final Transformable transformable = featurable.addFeatureAndGet(new TransformableModel(services, setup));
final Rasterable rasterable = new RasterableModel(services, setup);
rasterable.setOrigin(Origin.MIDDLE);
rasterable.setFrameOffsets(1, 2);
featurable.addFeature(rasterable);
featurable.addFeature(new RefreshableModel(extrp -> {
transformable.setLocationY(UtilMath.sin(count) * 240);
surface.setLocation(camera, transformable);
rasterable.update(extrp);
surface.update(extrp);
}));
featurable.addFeature(new DisplayableModel(g -> rasterable.render(g)));
transformable.setLocationX(120 + offsetX);
handler.add(featurable);
}
use of com.b3dgs.lionengine.game.feature.TransformableModel in project lionengine by b3dgs.
the class TileCollidableModelTest method createObject.
/**
* Create object test.
*
* @param featurable Featurable instance.
* @return The object test.
*/
private Transformable createObject(Featurable featurable) {
final Setup setup = new Setup(config);
CollisionCategoryConfig.exports(setup.getRoot(), categoryY);
CollisionCategoryConfig.exports(setup.getRoot(), categoryX);
final Transformable transformable = featurable.addFeatureAndGet(new TransformableModel(services, setup));
transformable.setSize(2, 2);
collidable = featurable.addFeatureAndGet(new TileCollidableModel(services, setup));
collidable.setEnabled(true);
assertArrayEquals(Arrays.asList(categoryY, categoryX).toArray(), collidable.getCategories().toArray());
return transformable;
}
use of com.b3dgs.lionengine.game.feature.TransformableModel in project lionengine by b3dgs.
the class ExtractorModelTest method testCheckListener.
/**
* Test the check listener.
*/
@Test
void testCheckListener() {
final ObjectExtractorSelf object = new ObjectExtractorSelf(services, setup);
object.addFeature(new TransformableModel(services, setup));
final AtomicBoolean add = new AtomicBoolean();
final Extractor extractor = new ExtractorModel(services, setup) {
@Override
public void addListener(ExtractorListener listener) {
add.set(true);
}
};
extractor.prepare(new FeaturableModel(services, setup));
assertFalse(add.get());
extractor.checkListener(object);
assertTrue(add.get());
}
Aggregations