use of com.b3dgs.lionengine.game.feature.Featurable in project lionengine by b3dgs.
the class Hud method clearMenus.
/**
* Clear current menus.
*/
private void clearMenus() {
for (final Featurable menu : menus) {
menu.getFeature(Identifiable.class).destroy();
handler.remove(menu);
}
menus.clear();
}
use of com.b3dgs.lionengine.game.feature.Featurable in project lionengine by b3dgs.
the class Scene method load.
@Override
public void load() {
map.create(Medias.create("level.png"));
camera.setView(0, 0, getWidth(), getHeight(), getHeight());
camera.setLocation(160, 96);
map.create(Medias.create("level.png"));
map.addFeature(new MapTileViewerModel(services));
map.addFeatureAndGet(new MapTileGroupModel()).loadGroups(Medias.create("groups.xml"));
map.addFeatureAndGet(new MapTilePathModel()).loadPathfinding(Medias.create("pathfinding.xml"));
camera.setLimits(map);
handler.add(map);
final Featurable peon1 = factory.create(Peon.MEDIA);
peon1.getFeature(Pathfindable.class).setLocation(20, 16);
peon1.getFeature(Pathfindable.class).setDestination(23, 12);
peon1.getFeature(Pathfindable.class).pointTo(1, 2);
handler.add(peon1);
peon2 = factory.create(Peon.MEDIA);
peon2.getFeature(Pathfindable.class).setLocation(22, 8);
handler.add(peon2);
final Featurable peon3 = factory.create(Peon.MEDIA);
peon3.getFeature(Pathfindable.class).setLocation(25, 10);
assertTrue(peon3.getFeature(Pathfindable.class).isPathAvailable(23, 12));
peon3.getFeature(Pathfindable.class).setDestination(23, 12);
handler.add(peon3);
peon2.getFeature(Pathfindable.class).setIgnoreId(peon3.getFeature(Identifiable.class).getId(), true);
peon2.getFeature(Pathfindable.class).pointTo(map.getTile(25, 25));
assertEquals(Orientation.NORTH_EAST, peon2.getFeature(Pathfindable.class).getOrientation());
peon2.getFeature(Pathfindable.class).setOrientation(Orientation.NORTH_WEST);
assertEquals(Orientation.NORTH_WEST, peon2.getFeature(Pathfindable.class).getOrientation());
peon2.getFeature(Pathfindable.class).addListener(listener);
tick.start();
}
use of com.b3dgs.lionengine.game.feature.Featurable 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.Featurable in project lionengine by b3dgs.
the class FovableModelTest method testFovable.
/**
* Test the fovable model.
*/
@Test
void testFovable() {
final MapTile map = UtilMap.createMap(7);
services.add(map);
final Setup setup = new Setup(config);
final Fovable fovable = new FovableModel(services, setup);
final Featurable featurable = new FeaturableModel(services, setup);
final Transformable transformable = featurable.addFeatureAndGet(new TransformableModel(services, setup));
transformable.teleport(1, 2);
transformable.setSize(3, 4);
fovable.prepare(featurable);
fovable.setFov(5);
assertEquals(1, fovable.getInTileX());
assertEquals(2, fovable.getInTileY());
assertEquals(3, fovable.getInTileWidth());
assertEquals(4, fovable.getInTileHeight());
assertEquals(5, fovable.getInTileFov());
assertTrue(fovable.canUpdate());
fovable.setCanUpdate(() -> false);
assertFalse(fovable.canUpdate());
}
use of com.b3dgs.lionengine.game.feature.Featurable in project lionengine by b3dgs.
the class ComponentNetwork method handleIdentifiableGet.
private void handleIdentifiableGet(Packet packet) {
final int dataId = packet.getDataId();
final Integer dataIdKey = Integer.valueOf(dataId);
final Featurable featurable = handler.get(dataIdKey);
if (featurable != null && !containsPending(packet.getClientSourceId(), dataIdKey)) {
if (server != null) {
send(new IdentifiableCreate(UtilNetwork.SERVER_ID, packet.getClientSourceId(), dataId, featurable.getMedia()), packet.getClientId());
} else if (client != null) {
send(new IdentifiableCreate(client.getClientId(), packet.getClientSourceId(), dataId, featurable.getMedia()));
}
}
}
Aggregations