Files
Mindustry/core/src/mindustry/graphics/CacheLayer.java
2020-11-03 13:38:53 -05:00

98 lines
1.7 KiB
Java

package mindustry.graphics;
import arc.*;
import arc.graphics.*;
import arc.graphics.gl.*;
import static mindustry.Vars.*;
public enum CacheLayer{
water{
@Override
public void begin(){
beginShader();
}
@Override
public void end(){
endShader(Shaders.water);
}
},
mud{
@Override
public void begin(){
beginShader();
}
@Override
public void end(){
endShader(Shaders.mud);
}
},
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);
}
},
space{
@Override
public void begin(){
beginShader();
}
@Override
public void end(){
endShader(Shaders.space);
}
},
normal,
walls;
public static final CacheLayer[] all = values();
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();
}
}