Example usage for com.badlogic.gdx.graphics.g2d ParticleEffect getEmitters

List of usage examples for com.badlogic.gdx.graphics.g2d ParticleEffect getEmitters

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics.g2d ParticleEffect getEmitters.

Prototype

public Array<ParticleEmitter> getEmitters() 

Source Link

Usage

From source file:at.therefactory.jewelthief.ui.Particles.java

License:Open Source License

/**
 * Resets the position, start color and duration of the given firework effects to random values.
 *
 * @param effect//from w w  w. ja v  a  2 s. c o m
 */
private void resetFireworksEffect(ParticleEffect effect) {
    effect.reset();
    effect.setDuration(Utils.randomWithin(180, 250));
    effect.setPosition(Utils.randomWithin(0, WINDOW_WIDTH), Utils.randomWithin(0, WINDOW_HEIGHT));
    float[] colors = effect.getEmitters().get(0).getTint().getColors();
    int randomStartColor = Utils.randomWithin(0, startColors.length - 1);
    for (int i = 0; i < 6; i++) {
        colors[i] = startColors[randomStartColor][i % 3];
    }
    for (ParticleEmitter emitter : effect.getEmitters()) {
        emitter.getTint().setColors(colors);
    }
}

From source file:com.kotcrab.vis.editor.util.gdx.ParticleUtils.java

License:Apache License

public static Rectangle calculateBoundingRectangle(ParticleEffect effect, Rectangle bounds, boolean additive) {
    Rectangle tempBounds = new Rectangle();

    if (additive == false)
        bounds.set(0, 0, 0, 0);//from  w ww  . j a v a 2  s  .  com
    for (int i = 0; i < effect.getEmitters().size; i++) {
        calculateBoundingRectangle(effect.getEmitters().get(i), tempBounds);

        if (isZero(tempBounds) == false) {
            if (isZero(bounds))
                bounds.set(tempBounds);
            else
                bounds.merge(tempBounds);
        }
    }

    return bounds;
}

From source file:com.lynk.gdx.tool.particleeditor.EffectPanel.java

License:Apache License

void openEffect(boolean mergeIntoCurrent) {
    FileDialog dialog = new FileDialog(editor, "Open Effect", FileDialog.LOAD);
    if (lastDir != null)
        dialog.setDirectory(lastDir);/*from w  ww.ja  v a2s.  c om*/
    dialog.setVisible(true);
    final String file = dialog.getFile();
    final String dir = dialog.getDirectory();
    if (dir == null || file == null || file.trim().length() == 0)
        return;
    lastDir = dir;
    ParticleEffect effect = new ParticleEffect();
    try {
        File effectFile = new File(dir, file);
        effect.loadEmitters(Gdx.files.absolute(effectFile.getAbsolutePath()));
        if (mergeIntoCurrent) {
            for (ParticleEmitter emitter : effect.getEmitters()) {
                addEmitter(emitter.getName(), false, emitter);
            }
        } else {
            editor.effect = effect;
            editor.effectFile = effectFile;
        }
        emitterTableModel.getDataVector().removeAllElements();
        editor.particleData.clear();
    } catch (Exception ex) {
        System.out.println("Error loading effect: " + new File(dir, file).getAbsolutePath());
        ex.printStackTrace();
        JOptionPane.showMessageDialog(editor, "Error opening effect.");
        return;
    }
    for (ParticleEmitter emitter : editor.effect.getEmitters()) {
        emitter.setPosition(editor.worldCamera.viewportWidth / 2, editor.worldCamera.viewportHeight / 2);
        emitterTableModel.addRow(new Object[] { emitter.getName(), true });
    }
    editIndex = 0;
    emitterTable.getSelectionModel().setSelectionInterval(editIndex, editIndex);
    editor.reloadRows();
}

From source file:de.bitbrain.craft.graphics.ParticleRenderer.java

License:Open Source License

@Override
public void setAlpha(float alpha) {

    // TODO: Alpha doesn't work for particles here as intended :(

    this.alpha = alpha;

    for (ParticleEffect e : effects.keySet()) {

        for (ParticleEmitter emitter : e.getEmitters()) {
            ScaledNumericValue v = emitter.getTransparency();
            v.setHigh(alpha);//from w  w  w.j a  v a2  s  .  co m
            v.setLow(alpha);
        }
    }
}

From source file:de.bitbrain.craft.graphics.ParticleRenderer.java

License:Open Source License

public void setColor(ParticleEffect effect, float[] colors, float[] timeline) {
    for (ParticleEmitter emitter : effect.getEmitters()) {
        emitter.getTint().setTimeline(timeline);
        emitter.getTint().setColors(colors);
    }//from  w w w.  j av  a2s. com
}

From source file:de.bitbrain.craft.graphics.ParticleRenderer.java

License:Open Source License

public void setParticleCount(ParticleEffect effect, int count) {
    for (ParticleEmitter emitter : effect.getEmitters()) {
        emitter.setMaxParticleCount(count);
    }//from   w  ww . jav a2s .c om
}

From source file:de.bitbrain.craft.graphics.ParticleRenderer.java

License:Open Source License

public int getParticleCount(ParticleEffect effect) {

    int count = 0;

    for (ParticleEmitter emitter : effect.getEmitters()) {
        if (count < emitter.getMaxParticleCount()) {
            count = emitter.getMaxParticleCount();
        }/*  w  w  w  . j  av  a2s . com*/
    }

    return count;
}

From source file:de.bitbrain.craft.graphics.ParticleRenderer.java

License:Open Source License

public void setEndless(ParticleEffect effect, boolean endless) {

    if (effect != null) {
        effects.put(effect, endless);/*from  w ww  .j a v a  2 s .  c o  m*/

        for (ParticleEmitter emitter : effect.getEmitters()) {
            emitter.setContinuous(endless);
        }
    }
}

From source file:de.myreality.acidsnake.graphics.ParticleRenderer.java

License:Open Source License

@Override
public void onCollide(int indexX, int indexY, Snake snake, WorldEntity target) {

    ParticleEffect explodeEffect = target.getType().getExplodeEffect();

    if (explodeEffect != null) {
        ParticleEffect effect = particleManager.create(explodeEffect, false);
        alignOnIndex(indexX, indexY, effect);
        for (ParticleEmitter emitter : effect.getEmitters()) {
            emitter.setMaxParticleCount(
                    emitter.getMaxParticleCount() / target.getType().getParticleDecreaseFactor());
        }/*from   ww  w.  jav a 2  s .co  m*/

        effect.start();
    }

}