44 lines
1.1 KiB
Java
44 lines
1.1 KiB
Java
package shootergame.tiles;
|
|
|
|
import shootergame.display.Camera;
|
|
import shootergame.entity.Entity;
|
|
import shootergame.entity.particle.ParticleWater;
|
|
import shootergame.init.Textures;
|
|
import shootergame.util.gl.GlHelpers;
|
|
import shootergame.util.math.TileState;
|
|
import shootergame.util.math.vec.Vec2d;
|
|
import shootergame.util.math.vec.Vec2i;
|
|
import shootergame.world.chunk.Chunk;
|
|
import shootergame.world.layer.Layer;
|
|
|
|
public class TileWater extends TileFlat
|
|
{
|
|
|
|
public TileWater(String id) {
|
|
super(id, Textures.TILE_WATER);
|
|
this.slowness = 0.5;
|
|
this.rotates = true;
|
|
}
|
|
|
|
@Override
|
|
public void render(Vec2d pos, Camera camera, TileState state) {
|
|
GlHelpers.pushMatrix();
|
|
GlHelpers.translate3(0, 0, 0.001);
|
|
super.render(pos, camera, state);
|
|
GlHelpers.popMatrix();
|
|
}
|
|
|
|
@Override
|
|
public void onWalkedOn(Chunk chunk, Layer layer, Vec2i pos, Entity entity, TileState state)
|
|
{
|
|
// Call super
|
|
super.onWalkedOn(chunk, layer, pos, entity, state);
|
|
|
|
// Spawn some water particles
|
|
for(int i=0;i<4;i++) {
|
|
layer.spawnEntity(new ParticleWater(entity.pos.copy()));
|
|
}
|
|
}
|
|
|
|
}
|