1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package me.hammerle.supersnuvi.tiles;
- import me.hammerle.snuviengine.api.Texture;
- import me.hammerle.supersnuvi.entity.Entity;
- import me.hammerle.supersnuvi.rendering.LevelRenderer;
- import me.hammerle.supersnuvi.util.Face;
- import me.hammerle.supersnuvi.gamelogic.Level;
- public class SpikeTile extends BaseCollisionTile
- {
- private final static Texture.Animation SPIKES = LevelRenderer.TILES.addAnimation(96, 32,
- "resources/spike_trap/spike_trap_frame1.png", "resources/spike_trap/spike_trap_frame2.png",
- "resources/spike_trap/spike_trap_frame3.png", "resources/spike_trap/spike_trap_frame4.png",
- "resources/spike_trap/spike_trap_frame5.png");
-
- private int counter;
- private int frame;
-
- public SpikeTile()
- {
- super(0.1875f, 0.0625f, 0.25f, 0.125f, Tile.SIZE * 0.1f, Tile.SIZE * 0.1f, Tile.SIZE * 0.9f, Tile.SIZE * 0.9f);
- counter = 0;
- frame = 0;
- }
- @Override
- public void onEntityCollide(Entity ent, int x, int y, Face face, Level l)
- {
- super.onEntityCollide(ent, x, y, face, l);
- if(frame >= 1)
- {
- ent.getHealth().addHealth(-42.857f);
- }
- }
- @Override
- public void tick()
- {
- counter++;
- if((frame == 0 && counter > 20) || (frame != 0 && counter > 5))
- {
- counter = 0;
- frame = (frame + 1) % 5;
- SPIKES.nextFrame();
- }
- }
- }
|