Liquid puddle draw override

This commit is contained in:
Anuken
2021-08-19 09:21:25 -04:00
parent 53eba2fb6a
commit a67b7a6e77
4 changed files with 91 additions and 39 deletions

View File

@@ -1,7 +1,6 @@
package mindustry.entities.comp;
import arc.func.*;
import arc.graphics.*;
import arc.graphics.g2d.*;
import arc.math.*;
import arc.math.geom.*;
@@ -9,7 +8,6 @@ import arc.util.*;
import mindustry.annotations.Annotations.*;
import mindustry.content.*;
import mindustry.entities.*;
import mindustry.game.*;
import mindustry.gen.*;
import mindustry.graphics.*;
import mindustry.type.*;
@@ -116,26 +114,7 @@ abstract class PuddleComp implements Posc, Puddlec, Drawc{
public void draw(){
Draw.z(Layer.debris - 1);
seeds = id;
boolean onLiquid = tile.floor().isLiquid;
float f = Mathf.clamp(amount / (maxLiquid / 1.5f));
float smag = onLiquid ? 0.8f : 0f;
float sscl = 25f;
Draw.color(Tmp.c1.set(liquid.color).shiftValue(-0.05f));
Fill.circle(x + Mathf.sin(Time.time + seeds * 532, sscl, smag), y + Mathf.sin(Time.time + seeds * 53, sscl, smag), f * 8f);
Angles.randLenVectors(id(), 3, f * 6f, (ex, ey) -> {
Fill.circle(x + ex + Mathf.sin(Time.time + seeds * 532, sscl, smag),
y + ey + Mathf.sin(Time.time + seeds * 53, sscl, smag), f * 5f);
seeds++;
});
Draw.color();
if(liquid.lightColor.a > 0.001f && f > 0){
Color color = liquid.lightColor;
float opacity = color.a * f;
Drawf.light(Team.derelict, tile.drawx(), tile.drawy(), 30f * f, color, opacity * 0.8f);
}
liquid.drawPuddle(self());
}
@Replace