public ImageIcon getIcon(ParticleEmitter emitter) {
   ParticleData data = particleData.get(emitter);
   if (data == null) particleData.put(emitter, data = new ParticleData());
   String imagePath = emitter.getImagePath();
   if (data.icon == null && imagePath != null) {
     try {
       URL url;
       File file = new File(imagePath);
       if (file.exists()) url = file.toURI().toURL();
       else {
         url = ParticleEditor.class.getResource(imagePath);
         if (url == null) return null;
       }
       data.icon = new ImageIcon(url);
     } catch (MalformedURLException ex) {
       ex.printStackTrace();
     }
   }
   return data.icon;
 }
示例#2
0
  public static ArrayList<ParticleData> initializeParticleData() {
    ArrayList<ParticleData> data = new ArrayList<>(Particle.Type.PARTICLE_COUNT.ordinal());

    ParticleData propellant = new ParticleData();
    propellant.color = new Color(255, 255, 50);
    propellant.lifetime = Time.getSeconds(0.6f);
    data.add(Particle.Type.PROPELLANT.ordinal(), propellant);

    ParticleData smoke = new ParticleData();
    smoke.color = new Color(50, 50, 50);
    smoke.lifetime = Time.getSeconds(4.0f);
    data.add(Particle.Type.SMOKE.ordinal(), smoke);

    return data;
  }
 public void setEnabled(ParticleEmitter emitter, boolean enabled) {
   ParticleData data = particleData.get(emitter);
   if (data == null) particleData.put(emitter, data = new ParticleData());
   data.enabled = enabled;
   emitter.reset();
 }
 public void setIcon(ParticleEmitter emitters, ImageIcon icon) {
   ParticleData data = particleData.get(emitters);
   if (data == null) particleData.put(emitters, data = new ParticleData());
   data.icon = icon;
 }