Files
Mindustry/core/src/mindustry/graphics/CacheLayer.java
2020-06-10 21:07:21 -04:00

87 lines
1.6 KiB
Java

package mindustry.graphics;
import arc.*;
import arc.graphics.*;
import arc.graphics.g2d.*;
import arc.graphics.gl.*;
import static mindustry.Vars.renderer;
public enum CacheLayer{
water{
@Override
public void begin(){
beginShader();
}
@Override
public void end(){
endShader(Shaders.water);
}
},
tar{
@Override
public void begin(){
beginShader();
}
@Override
public void end(){
endShader(Shaders.tar);
}
},
slag{
@Override
public void begin(){
beginShader();
}
@Override
public void end(){
endShader(Shaders.slag);
}
},
normal(5),
walls;
public static final CacheLayer[] all = values();
/** Capacity multiplier. */
public final int capacity;
CacheLayer(){
this(2);
}
CacheLayer(int capacity){
this.capacity = capacity;
}
public void begin(){
}
public void end(){
}
void beginShader(){
if(!Core.settings.getBool("animatedwater")) return;
renderer.blocks.floor.endc();
renderer.effectBuffer.begin();
Core.graphics.clear(Color.clear);
renderer.blocks.floor.beginc();
}
void endShader(Shader shader){
if(!Core.settings.getBool("animatedwater")) return;
renderer.blocks.floor.endc();
renderer.effectBuffer.end();
renderer.effectBuffer.blit(shader);
renderer.blocks.floor.beginc();
}
}