Static effects / Better shell ejections / Implemented new cannon turret

This commit is contained in:
Anuken
2018-04-04 21:13:49 -04:00
parent 1956fccbe9
commit 05356776c5
54 changed files with 662 additions and 408 deletions
@@ -1,6 +1,6 @@
package io.anuke.mindustry.entities;
import io.anuke.mindustry.graphics.fx.BulletFx;
import io.anuke.mindustry.content.fx.BulletFx;
import io.anuke.ucore.core.Effects;
import io.anuke.ucore.entities.BaseBulletType;
@@ -6,8 +6,8 @@ import io.anuke.mindustry.content.Mechs;
import io.anuke.mindustry.content.Weapons;
import io.anuke.mindustry.content.blocks.Blocks;
import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.graphics.fx.ExplosionFx;
import io.anuke.mindustry.graphics.fx.Fx;
import io.anuke.mindustry.content.fx.ExplosionFx;
import io.anuke.mindustry.content.fx.Fx;
import io.anuke.mindustry.net.Net;
import io.anuke.mindustry.net.NetEvents;
import io.anuke.mindustry.resource.Mech;
@@ -1,6 +1,6 @@
package io.anuke.mindustry.entities;
import io.anuke.mindustry.graphics.fx.Fx;
import io.anuke.mindustry.content.fx.Fx;
import io.anuke.mindustry.net.Net;
import io.anuke.mindustry.net.NetEvents;
import io.anuke.mindustry.world.Block;
@@ -0,0 +1,45 @@
package io.anuke.mindustry.entities.effect;
import com.badlogic.gdx.graphics.Color;
import io.anuke.ucore.core.Effects;
import io.anuke.ucore.core.Effects.Effect;
import io.anuke.ucore.core.Timers;
import io.anuke.ucore.entities.EffectEntity;
import io.anuke.ucore.function.EffectRenderer;
import io.anuke.ucore.util.Mathf;
public class StaticEffectEntity extends EffectEntity {
private boolean once;
public StaticEffectEntity(StaticEffect effect, Color color, float rotation) {
super(effect, color, rotation);
}
@Override
public void update(){
time += Timers.delta();
time = Mathf.clamp(time, 0, ((StaticEffect)renderer).staticLife);
if(!once && time >= lifetime){
once = true;
time = 0f;
}else if(once && time >= ((StaticEffect)renderer).staticLife){
remove();
}
}
@Override
public void drawOver(){
if(once) Effects.renderEffect(id, renderer, color, once ? lifetime : time, rotation, x, y);
}
public static class StaticEffect extends Effect{
public final float staticLife;
public StaticEffect(float life, float staticLife, EffectRenderer draw) {
super(life, draw);
this.staticLife = staticLife;
}
}
}
@@ -4,7 +4,7 @@ import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.utils.ObjectSet;
import io.anuke.mindustry.entities.Unit;
import io.anuke.mindustry.game.TeamInfo.TeamData;
import io.anuke.mindustry.graphics.fx.Fx;
import io.anuke.mindustry.content.fx.Fx;
import io.anuke.mindustry.world.Tile;
import io.anuke.ucore.core.Effects;
import io.anuke.ucore.core.Timers;
@@ -5,7 +5,7 @@ import io.anuke.mindustry.entities.Bullet;
import io.anuke.mindustry.entities.BulletType;
import io.anuke.mindustry.entities.Unit;
import io.anuke.mindustry.entities.Units;
import io.anuke.mindustry.graphics.fx.ExplosionFx;
import io.anuke.mindustry.content.fx.ExplosionFx;
import io.anuke.mindustry.net.Net;
import io.anuke.mindustry.net.NetEvents;
import io.anuke.ucore.core.Effects;