Example usage for com.badlogic.gdx.graphics.g2d ParticleEmitter getName

List of usage examples for com.badlogic.gdx.graphics.g2d ParticleEmitter getName

Introduction

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

Prototype

public String getName() 

Source Link

Usage

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);// w w w .  ja va  2 s  .c o  m
    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:com.westernarc.easterrun.gdx.graphics.g2d.ParticleEffect.java

License:Apache License

/** Returns the emitter with the specified name, or null. */
public ParticleEmitter findEmitter(String name) {
    for (int i = 0, n = emitters.size; i < n; i++) {
        ParticleEmitter emitter = emitters.get(i);
        if (emitter.getName().equals(name))
            return emitter;
    }/*  w ww .ja  va  2s .c  o m*/
    return null;
}

From source file:de.hochschuletrier.gdw.ss15.game.systems.BallParticlesRenderSystem.java

@Override
protected void processEntity(Entity entity, float deltaTime) {
    BallParticlesComponent particleComponent = ComponentMappers.ballParticles.get(entity);
    PositionComponent position = ComponentMappers.position.get(entity);

    for (ParticleEmitter emitter : particleComponent.effect.getEmitters()) {
        if (emitter.getName().toLowerCase().equals(particleComponent.currentState.name().toLowerCase())) {
            emitter.update(deltaTime);/*w w  w  . j av  a2 s. c om*/
        } else {
            emitter.reset();
        }
    }
    particleComponent.effect.setPosition(position.x, position.y);
    particleComponent.effect.draw(DrawUtil.batch);
}

From source file:de.hochschuletrier.gdw.ss15.game.systems.BallParticlesRenderSystem.java

@Override
public void onAnimationStateChangedEvent(EntityAnimationState newState, Entity entity) {
    BallParticlesComponent particleComponent = ComponentMappers.ballParticles.get(entity);
    if (particleComponent == null) {
        return;// w  w  w . j  a  v a2 s  .c  o m
    }
    for (ParticleEmitter emitter : particleComponent.effect.getEmitters()) {
        if (emitter.getName().toLowerCase().equals(newState.name().toLowerCase())) {
            particleComponent.currentState = newState;
        }
    }
}

From source file:de.hochschuletrier.gdw.ss15.game.systems.GoalEffectRenderSystem.java

@Override
protected void processEntity(Entity entity, float deltaTime) {
    GoalEffectComponent component = ComponentMappers.goalEffect.get(entity);
    PositionComponent pos = ComponentMappers.position.get(entity);
    TeamComponent team = ComponentMappers.team.get(entity);

    if (team.team != this.teamScored)
        return; //emitter belongs to goal of team who scored

    if (!component.started && !this.goalScored)
        return; //no gool scored and nothing to update

    if (component.started && this.goalScored)
        this.goalScored = false; //all emitters have started

    for (ParticleEmitter emitter : component.effect.getEmitters()) {
        if (!emitter.getName().toLowerCase().equals(this.teamScored.name().toLowerCase())) {
            //gool scored but emitter not started
            if (!component.started) {
                emitter.setPosition(pos.x, pos.y);
                emitter.reset();/*from ww  w .j  a va 2s .  c om*/
                emitter.start();
                component.started = true;
            }
            emitter.update(deltaTime);
            emitter.draw(DrawUtil.batch);
            //System.out.println(emitter.getPercentComplete());
            if (emitter.isComplete()) {
                component.started = false;
            }
        }
    }
}

From source file:de.hochschuletrier.gdw.ss15.game.systems.RenderBallAtPlayerSystem.java

@Override
protected void processEntity(Entity entity, float deltaTime) {
    PlayerComponent player = ComponentMappers.player.get(entity);
    if (!player.hasBall)
        return;//  w  w  w .ja v a 2  s  . c  o m

    PositionComponent pos = ComponentMappers.position.get(entity);
    TeamComponent team = ComponentMappers.team.get(entity);
    for (ParticleEmitter emitter : effect.getEmitters()) {
        if (emitter.getName().toLowerCase().equals(team.team.name().toLowerCase())) {
            emitter.setPosition(pos.x, pos.y);
            emitter.start();
            emitter.update(deltaTime);
            emitter.draw(DrawUtil.batch);
        }
    }
}