List of usage examples for com.badlogic.gdx.utils Array addAll
public void addAll(T... array)
From source file:com.ahsgaming.valleyofbones.GameController.java
License:Apache License
private void loadMapObjects() { Array<Player> playersToSpawn = new Array<Player>(); switch (spawnType) { case SPAWN_NORMAL: playersToSpawn.addAll(players); break;/*from w w w . j a va 2 s . c om*/ case SPAWN_INVERTED: for (int i = players.size - 1; i >= 0; i--) { playersToSpawn.add(players.get(i)); } break; case SPAWN_RANDOM: Array<Player> p = new Array<Player>(players); while (p.size > 0) { playersToSpawn.add(p.removeIndex((int) Math.floor(Math.random() * p.size))); } break; } for (MapData.MapObject spawn : map.getPlayerSpawns()) { AbstractUnit unit; if (spawn.player >= 0 && spawn.player < players.size) { unit = Unit.createUnit(getNextObjectId(), "castle-base", playersToSpawn.get(spawn.player)); playersToSpawn.get(spawn.player).setBaseUnit(unit); } else { unit = Unit.createUnit(getNextObjectId(), "castle-base", null); Gdx.app.log(VOBGame.LOG, "Map Error: player spawn index out of range"); } Vector2 pos = map.boardToMapCoords(spawn.x, spawn.y); unit.getView().setPosition(pos.x, pos.y); unit.getView().setBoardPosition(spawn.x, spawn.y); unitManager.addUnit(unit); if (spawn.player >= 0 && spawn.player < players.size) { addSpawnPoint(playersToSpawn.get(spawn.player).getPlayerId(), new Vector2(unit.getView().getX() + unit.getView().getWidth() * 0.5f, unit.getView().getY() + unit.getView().getHeight() * 0.5f)); } } for (MapData.MapObject obj : map.getControlPoints()) { AbstractUnit unit; unit = Unit.createUnit(getNextObjectId(), obj.proto, obj.player == -1 ? null : players.get(obj.player)); Vector2 pos = map.boardToMapCoords(obj.x, obj.y); unit.getView().setPosition(pos.x, pos.y); unit.getView().setBoardPosition(new Vector2(obj.x, obj.y)); unitManager.addUnit(unit); } if (VOBGame.DEBUG_ATTACK) { AbstractUnit unit = Unit.createUnit(getNextObjectId(), "marine-base", players.get(0)); unit.getView().setBoardPosition(9, 0); unit.getView().setPosition(getMap().boardToMapCoords(9, 0)); unitManager.addUnit(unit); unit = Unit.createUnit(getNextObjectId(), "marine-base", players.get(1)); unit.getView().setBoardPosition(10, 0); unit.getView().setPosition(getMap().boardToMapCoords(10, 0)); unitManager.addUnit(unit); } }
From source file:com.algodal.gdxscreen.GdxTransition.java
License:Apache License
final void unloadAssets(GdxScreen[] visible, GdxScreen[] hidden) { Array<String> visibleAssets = new Array<>(); Array<String> hiddenAssets = new Array<>(); for (GdxScreen screen : visible) visibleAssets.addAll(screen.assetRefs); for (GdxScreen screen : hidden) hiddenAssets.addAll(screen.assetRefs); for (String assetRef : hiddenAssets) if (!visibleAssets.contains(assetRef, false)) if (getGame().assetMap.get(assetRef).isloaded()) getGame().assetMap.get(assetRef).unload(); }
From source file:com.amerticum.chosenchess.controller.ControlleurEchiquer.java
License:Apache License
private void addMoveHighlightsForPiece(Piece piece) { Array<com.amerticum.chosenchess.model.Cazz> cazzz = piece.getValidMoveTiles(this.echiquier, true); cazzz.addAll(piece.getCaptureOnlyTiles(this.echiquier, true)); for (com.amerticum.chosenchess.model.Cazz cazz : cazzz) { int tx = (int) cazz.getX(); int ty = (int) cazz.getY(); /* Make sure the move doesn't put the king in check. */ if (this.echiquier.isMoveSafe(piece, tx, ty)) { this.highlightedTiles.add(cazz); cazz.estActif = true;/*from w ww.j a v a2 s . c o m*/ } } }
From source file:com.amerticum.chosenchess.model.Echiquier.java
License:Apache License
/** * Checks if a tile is safe against any capture moves that can be made by an * enemy piece.//from w w w. java 2s. co m * * @param x * Horizontal index of the tile. * @param y * Vertical index of the tile. * @param forWhite * Are we checking tile safety for white pieces? * @return True if tile is safe. */ public boolean isTileSafe(int x, int y, boolean forWhite) { for (Piece[] row : this.pieces) { for (Piece piece : row) { /* * If piece belongs to the opponent then check if it threatens * this tile by tracing its possible capture moves. */ if ((piece != null) && (piece.estRouge != forWhite)) { Array<Cazz> threatenedCases; if (piece.canCaptureWithMove) { threatenedCases = piece.getValidMoveTiles(this, false); threatenedCases.addAll(piece.getCaptureOnlyTiles(this, false)); } else { threatenedCases = piece.getCaptureOnlyTiles(this, false); } for (Cazz tile : threatenedCases) { if ((x == tile.getX()) && (y == tile.getY())) { return false; } } } } } return true; }
From source file:com.arkanoid.Actors.ActorFactory.java
License:Open Source License
/** * Create a player using the default texture. * @param world world where the player will have to live in. * @param position initial position ofr the player in the world (meters,meters). * @return a player./* w ww . jav a2 s . c om*/ */ public PlayerActor createPlayer(World world, Vector2 position) { //Texture playerTexture = manager.get("player.png"); TextureAtlas atlas = manager.get("sprites_player.txt", TextureAtlas.class); HashMap<PlayerActor.PlayerAnimations, Animation> animations = new HashMap<PlayerActor.PlayerAnimations, Animation>(); Array<TextureAtlas.AtlasRegion> playerRegions = atlas.findRegions("red_medium"); Array<TextureAtlas.AtlasRegion> playerRegionsReverse = atlas.findRegions("red_medium"); playerRegionsReverse.reverse(); playerRegions.addAll(playerRegionsReverse); animations.put(PlayerActor.PlayerAnimations.RED_MEDIUM, new Animation(1f / (float) playerRegions.size, playerRegions)); playerRegions = atlas.findRegions("red_large"); playerRegionsReverse = atlas.findRegions("red_large"); playerRegionsReverse.reverse(); playerRegions.addAll(playerRegionsReverse); animations.put(PlayerActor.PlayerAnimations.RED_LARGE, new Animation(1f / (float) playerRegions.size, playerRegions)); playerRegions = atlas.findRegions("red_medium_create"); animations.put(PlayerActor.PlayerAnimations.RED_MEDIUM_CREATE, new Animation(1f / (float) playerRegions.size, playerRegions)); playerRegions = atlas.findRegions("red_medium_destoy"); animations.put(PlayerActor.PlayerAnimations.RED_MEDIUM_DESTROY, new Animation(1f / (float) playerRegions.size, playerRegions)); playerRegions = atlas.findRegions("blue_medium"); playerRegionsReverse = atlas.findRegions("blue_medium"); playerRegionsReverse.reverse(); playerRegions.addAll(playerRegionsReverse); animations.put(PlayerActor.PlayerAnimations.BLUE_MEDIUM, new Animation(1f / (float) playerRegions.size, playerRegions)); playerRegions = atlas.findRegions("blue_large"); playerRegionsReverse = atlas.findRegions("blue_large"); playerRegionsReverse.reverse(); playerRegions.addAll(playerRegionsReverse); animations.put(PlayerActor.PlayerAnimations.BLUE_LARGE, new Animation(1f / (float) playerRegions.size, playerRegions)); playerRegions = atlas.findRegions("blue_medium_create"); animations.put(PlayerActor.PlayerAnimations.BLUE_MEDIUM_CREATE, new Animation(1f / (float) playerRegions.size, playerRegions)); playerRegions = atlas.findRegions("blue_medium_destoy"); animations.put(PlayerActor.PlayerAnimations.BLUE_MEDIUM_DESTROY, new Animation(1f / (float) playerRegions.size, playerRegions)); return new PlayerActor(world, animations, position); }
From source file:com.badlogic.gdx.spriter.demo.SpriterDemoApp.java
@Override public void create() { // Initialize object batch = new SpriteBatch(); camera = new OrthographicCamera(); FileHandleResolver resolver = new InternalFileHandleResolver(); assetManager = new AssetManager(resolver); assetManager.setLoader(SpriterData.class, new SpriterDataLoader(resolver)); resolver = new AbsoluteFileHandleResolver(); externalAssetManager = new AssetManager(resolver); externalAssetManager.setLoader(SpriterData.class, new SpriterDataLoader(resolver)); assetManager.load("uiskin.json", Skin.class); assetManager.finishLoading();/*from ww w .jav a 2 s. c o m*/ skin = assetManager.get("uiskin.json"); // Create widgets stage = new Stage(new ScreenViewport(camera), batch); Label titleLabel = new Label("gdx-spriter", skin); titleLabel.setFontScale(3f); Label fpsLabel = new Label("FPS", skin) { @Override public void act(float delta) { this.setText(Gdx.graphics.getFramesPerSecond() + " FPS"); super.act(delta); } }; fileChooser = new SelectBox<SpriterDemoFileHandle>(skin); fileChooser.setName("Files"); fileChooser.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { changeSpriterFile(fileChooser.getSelected()); lastUsedSelectBox = fileChooser; } }); Button fileFinder = new TextButton("Browse", skin); fileFinder.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { FileDialog fileDialog = new FileDialog((java.awt.Frame) null, "Choose Spriter file", FileDialog.LOAD); fileDialog.setDirectory(lastFolderBrowsed); fileDialog.setResizable(true); fileDialog.setVisible(true); String file = fileDialog.getFile(); String directory = fileDialog.getDirectory(); if (directory != null) { lastFolderBrowsed = directory; } if (file != null) { String path = directory + file; addFile(Gdx.files.absolute(path), externalAssetManager); fileChooser.setItems(files); fileChooser.setSelectedIndex(fileChooser.getItems().size - 1); } } }); entityChooser = new SelectBox<SpriterAnimator>(skin); entityChooser.setName("Entities"); entityChooser.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { changeAnimator(entityChooser.getSelected()); lastUsedSelectBox = entityChooser; } }); animationChooser = new SelectBox<String>(skin); animationChooser.setName("Animations"); animationChooser.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { changeAnimation(animationChooser.getSelected()); lastUsedSelectBox = animationChooser; } }); final CheckBox transitionCheckbox = new CheckBox("Transition", skin); transitionCheckbox.setChecked(transition); transitionCheckbox.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { transition = transitionCheckbox.isChecked(); } }); charmapChooser = new List<SpriterCharacterMap>(skin); ArraySelection<SpriterCharacterMap> selection = charmapChooser.getSelection(); selection.setMultiple(true); selection.setRangeSelect(false); selection.setToggle(false); selection.setRequired(false); charmapChooser.setName("Charmaps"); charmapChooser.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { changeCharacterMaps(charmapChooser.getSelection().items().orderedItems()); } }); angleSlider = new SpriterDemoAnimatorSlider(0, 360, 1f, skin, "%.0f") { @Override public void setValue(SpriterAnimator animator, float value) { spriterAnimator.setRotation(value); } @Override protected float getValue(SpriterAnimator animator) { return spriterAnimator.getRotation(); } }; pivotXSlider = new SpriterDemoAnimatorSlider(-1000f, 1000f, 1f, skin, "%.0f") { @Override public void setValue(SpriterAnimator animator, float value) { animator.setPivotX(value); } @Override protected float getValue(SpriterAnimator animator) { return animator.getPivotX(); } }; pivotYSlider = new SpriterDemoAnimatorSlider(-1000f, 1000f, 1f, skin, "%.0f") { @Override public void setValue(SpriterAnimator animator, float value) { animator.setPivotY(value); } @Override protected float getValue(SpriterAnimator animator) { return animator.getPivotY(); } }; scaleXSlider = new SpriterDemoAnimatorSlider(-10f, 10f, 0.1f, skin) { @Override public void setValue(SpriterAnimator animator, float value) { spriterAnimator.setScaleX(value); } @Override protected float getValue(SpriterAnimator animator) { return spriterAnimator.getScaleX(); } }; scaleYSlider = new SpriterDemoAnimatorSlider(-10f, 10f, 0.1f, skin) { @Override public void setValue(SpriterAnimator animator, float value) { spriterAnimator.setScaleY(value); } @Override protected float getValue(SpriterAnimator animator) { return spriterAnimator.getScaleY(); } }; alphaSlider = new SpriterDemoAnimatorSlider(0f, 1f, 0.01f, skin, "%.2f") { @Override public void setValue(SpriterAnimator animator, float value) { animator.setAlpha(value); } @Override protected float getValue(SpriterAnimator animator) { return animator.getAlpha(); } }; speedSlider = new SpriterDemoAnimatorSlider(0f, 10f, 0.1f, skin) { @Override public void setValue(SpriterAnimator animator, float value) { animator.setSpeed(value); } @Override protected float getValue(SpriterAnimator animator) { return animator.getSpeed(); } }; allAnimatorSliders = new SpriterDemoAnimatorSlider[] { scaleXSlider, scaleYSlider, pivotXSlider, pivotYSlider, angleSlider, alphaSlider, speedSlider }; metaLabel = new Label("Meta: ", skin); metaLabel.setWrap(true); metaLabel.setAlignment(Align.topLeft); spriterPlaceholder = new Label("No animator", skin); spriterPlaceholder.setAlignment(Align.center); spriterAnimator = new SpriterAnimatorActor(animator); spriterAnimator.debug(); playPauseButton = new ImageButton(skin, "play"); playPauseButton.setChecked(true); playPauseButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { boolean playing = playPauseButton.isChecked(); spriterAnimator.setDisabled(!playing); } }); timeSlider = new Slider(0f, 2000f, 1, false, skin); timeSlider.addListener(timeSliderListener = new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (animator == null) return; animator.setTime(timeSlider.getValue()); animator.update(0f); } }); timeLabel = new Label("---", skin); // Put everything in place Table titleTable = new Table(skin); titleTable.add(titleLabel).pad(6f); titleTable.add().expandX(); titleTable.add(fpsLabel).padRight(10f); Table selectionTable = new Table(skin); selectionTable.defaults().pad(3f); Table filesTable = new Table(skin); filesTable.row(); filesTable.add(fileChooser).expand().fillX(); filesTable.add(fileFinder).padLeft(2f).padRight(1f); Table animationsTable = new Table(skin); animationsTable.row(); animationsTable.add(animationChooser).expand().fill(); animationsTable.add(transitionCheckbox).fillX().padLeft(2f); ScrollPane scrollableCharmapChooser = new ScrollPane(charmapChooser); Table menuTable = new Table(skin); menuTable.defaults().pad(3f).expandX().fillX(); menuTable.row(); menuTable.add(titleTable).colspan(2); menuTable.row(); menuTable.add("File"); menuTable.add(filesTable).pad(4f); menuTable.row(); menuTable.add("Entity"); menuTable.add(entityChooser).pad(4f); menuTable.row(); menuTable.add("Animation"); menuTable.add(animationsTable).pad(4f); menuTable.row(); menuTable.add("Maps"); menuTable.add(scrollableCharmapChooser).pad(4f); menuTable.row(); menuTable.add("Angle"); menuTable.add(angleSlider); menuTable.row(); menuTable.add("Pivot X"); menuTable.add(pivotXSlider); menuTable.row(); menuTable.add("Pivot Y"); menuTable.add(pivotYSlider); menuTable.row(); menuTable.add("Scale X"); menuTable.add(scaleXSlider); menuTable.row(); menuTable.add("Scale Y"); menuTable.add(scaleYSlider); menuTable.row(); menuTable.add("Alpha"); menuTable.add(alphaSlider); menuTable.row(); menuTable.add("Speed"); menuTable.add(speedSlider); menuTable.row(); menuTable.add().expandY(); Table contentTable = new Table(skin); contentTable.row(); contentTable.add(metaLabel).left().expandX().maxHeight(1f); contentTable.row(); contentTable.stack(spriterPlaceholder, spriterAnimator).expand(); Table timelineTable = new Table(skin); timelineTable.row(); timelineTable.add("Timeline").expandX().align(Align.bottom); timelineTable.row(); timelineTable.add(timeSlider).expandX().fillX(); timelineTable.row(); timelineTable.add(timeLabel).expandX().align(Align.top); Table controlTable = new Table(skin); controlTable.add(playPauseButton).space(5f).expandY().fillY(); controlTable.add(timelineTable).expandX().fillX(); rootTable = new Table(skin); rootTable.setFillParent(true); rootTable.row(); rootTable.add(menuTable).expandY().fill(); rootTable.add(contentTable).expand().fill(); rootTable.row(); rootTable.add(controlTable).colspan(2).expandX().fillX(); stage.addActor(rootTable); // Bring input processing to the party InputProcessor globalInput = new InputProcessor() { @Override public boolean keyDown(int keycode) { switch (keycode) { case Keys.UP: case Keys.Z: case Keys.W: if (lastUsedSelectBox != null) lastUsedSelectBox.setSelectedIndex(Math.max(lastUsedSelectBox.getSelectedIndex() - 1, 0)); break; case Keys.DOWN: case Keys.S: if (lastUsedSelectBox != null) lastUsedSelectBox.setSelectedIndex(Math.min(lastUsedSelectBox.getSelectedIndex() + 1, lastUsedSelectBox.getItems().size - 1)); break; default: break; } return true; } @Override public boolean keyUp(int keycode) { return false; } @Override public boolean keyTyped(char character) { return false; } @Override public boolean touchDown(int screenX, int screenY, int pointer, int button) { return false; } @Override public boolean touchUp(int screenX, int screenY, int pointer, int button) { return false; } @Override public boolean touchDragged(int screenX, int screenY, int pointer) { return false; } @Override public boolean mouseMoved(int screenX, int screenY) { return false; } @Override public boolean scrolled(int amount) { amount *= 0.05f; // Zoom coefficient scaleXSlider.setValue(scaleXSlider.getValue() + amount); scaleYSlider.setValue(scaleYSlider.getValue() + amount); return false; } }; Gdx.input.setInputProcessor(new InputMultiplexer(stage, globalInput)); // Add default test resources Array<String> testResources = new Array<String>(SpriterTestData.scml); testResources.addAll(SpriterTestData.scon); testResources.sort(); for (String path : testResources) addFile(Gdx.files.internal(path.replaceFirst("/", "")), assetManager); // Also go discover some unknown exotic resources! (won't work in jar though) Array<FileHandle> spriterFiles = SpriterDemoUtils.findFiles(new String[] { "scml", "scon" }); for (FileHandle f : spriterFiles) addFile(f, assetManager); fileChooser.setItems(files); lastUsedSelectBox = fileChooser; if (playPauseButton.isChecked()) animator.play(animator.getAnimations().iterator().next()); }
From source file:com.badlogic.gdx.tests.g3d.ModelCache.java
@Override public void getRenderables(Array<Renderable> renderables, Pool<Renderable> pool) { if (building) throw new GdxRuntimeException("Cannot render a ModelCache in between .begin() and .end()"); renderables.addAll(this.renderables); }
From source file:com.betmansmall.game.gameLogic.mapLoader.MapLoader.java
License:Apache License
/** Loads the {@link TiledMap} from the given file. The file is resolved via the {@link FileHandleResolver} set in the * constructor of this class. By default it will resolve to an internal file. * @param fileName the filename/* w w w . java 2s . co m*/ * @param parameters specifies whether to use y-up, generate mip maps etc. * @return the TiledMap */ public TiledMap load(String fileName, MapLoader.Parameters parameters) { try { this.convertObjectToTileSpace = parameters.convertObjectToTileSpace; this.flipY = parameters.flipY; FileHandle tmxFile = resolve(fileName); root = xml.parse(tmxFile); ObjectMap<String, Texture> textures = new ObjectMap<String, Texture>(); Array<FileHandle> textureFiles = loadTilesets(root, tmxFile); textureFiles.addAll(loadImages(root, tmxFile)); for (FileHandle textureFile : textureFiles) { Texture texture = new Texture(textureFile, parameters.generateMipMaps); texture.setFilter(parameters.textureMinFilter, parameters.textureMagFilter); textures.put(textureFile.path(), texture); } DirectImageResolver imageResolver = new DirectImageResolver(textures); TiledMap map = loadTilemap(root, tmxFile, imageResolver); map.setOwnedResources(textures.values().toArray()); return map; } catch (IOException e) { throw new GdxRuntimeException("Couldn't load tilemap '" + fileName + "'", e); } }
From source file:com.github.fauu.helix.editor.World.java
License:Open Source License
@Override public void render() { handleInput();/*www . ja v a 2s .c om*/ if (mapRegion.getMesh().isReady()) { Array<RenderableProvider> renderableProviders = new Array<RenderableProvider>(); renderableProviders.add(mapRegion); renderableProviders.addAll(mapRegion.getObjectsModelInstances()); renderer.render(camera, renderableProviders, null); } }
From source file:com.github.fauu.helix.game.Game.java
License:Open Source License
@Override public void render() { // cameraInputController.update(); final float delta = Gdx.graphics.getDeltaTime(); handleInput(delta);/*from w w w . java 2 s . c o m*/ updateLogic(delta); final WaterData waterData = (WaterData) waterModelInstance.userData; waterData.waveAngle += waterData.waveFrequency * 2 * Gdx.graphics.getDeltaTime(); while (waterData.waveAngle > 2 * Math.PI) { waterData.waveAngle -= 2 * Math.PI; } if (mapRegion.getMesh().isReady()) { final Array<RenderableProvider> renderableProviders = new Array<RenderableProvider>(); renderableProviders.add(mapRegion); renderableProviders.addAll(mapRegion.getObjectsModelInstances()); renderableProviders.add(waterModelInstance); Array<Decal> decals = new Array<Decal>(); decals.add(player.getDecal()); renderer.render(camera, renderableProviders, decals); } // final Vector3 playerScreenPosition = camera.project(player.getRealPosition().cpy()); // spriteBatch.begin(); // player.getSheet().bind(); // spriteBatch.draw(player.getCurrentFrame(), playerScreenPosition.x, playerScreenPosition.y, 92, 92); // spriteBatch.end(); }