ProjectZombie/src/shootergame/tiles/TileWater.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()));
}
}
}