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; }
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; }