87 lines
1.6 KiB
Java
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();
|
|
}
|
|
}
|