ParticleSystem: Optimizations
This commit is contained in:
parent
724b054dee
commit
397a62e4b3
|
@ -55,8 +55,6 @@ public class Particle {
|
|||
|
||||
this.pos.add(acceleration);
|
||||
this.pos.add(velocity);
|
||||
|
||||
//this.lifeAlpha -= 1;
|
||||
}
|
||||
|
||||
public void render(int mouseX, int mouseY) {
|
||||
|
|
|
@ -1,27 +1,26 @@
|
|||
package me.rigamortis.seppuku.api.gui.hud.particle;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import net.minecraft.client.gui.ScaledResolution;
|
||||
|
||||
import javax.vecmath.Vector2f;
|
||||
import java.util.List;
|
||||
|
||||
public final class ParticleSystem {
|
||||
|
||||
private final int PARTS = 100;
|
||||
private final List<Particle> particles = Lists.newArrayListWithCapacity(PARTS);
|
||||
private final Particle[] particles = new Particle[PARTS];
|
||||
|
||||
private final ScaledResolution scaledResolution;
|
||||
|
||||
public ParticleSystem(ScaledResolution scaledResolution) {
|
||||
this.scaledResolution = scaledResolution;
|
||||
for (int i = 0; i < PARTS; i++) {
|
||||
this.particles.add(new Particle(new Vector2f((float) (Math.random() * scaledResolution.getScaledWidth()), (float) (Math.random() * scaledResolution.getScaledHeight()))));
|
||||
this.particles[i] = new Particle(new Vector2f((float) (Math.random() * scaledResolution.getScaledWidth()), (float) (Math.random() * scaledResolution.getScaledHeight())));
|
||||
}
|
||||
}
|
||||
|
||||
public void update() {
|
||||
for (Particle particle : this.particles) {
|
||||
for (int i = 0; i < PARTS; i++) {
|
||||
final Particle particle = this.particles[i];
|
||||
if (this.scaledResolution != null) {
|
||||
final boolean isOffScreenX = particle.getPos().x > this.scaledResolution.getScaledWidth() || particle.getPos().x < 0;
|
||||
final boolean isOffScreenY = particle.getPos().y > this.scaledResolution.getScaledHeight() || particle.getPos().y < 0;
|
||||
|
@ -34,7 +33,8 @@ public final class ParticleSystem {
|
|||
}
|
||||
|
||||
public void render(int mouseX, int mouseY) {
|
||||
for (Particle particle : this.particles) {
|
||||
for (int i = 0; i < PARTS; i++) {
|
||||
final Particle particle = this.particles[i];
|
||||
particle.render(mouseX, mouseY);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue