parent
78035ced7a
commit
fb244dc2b9
@ -1,40 +0,0 @@ |
||||
package mightypork.gamecore.util.math.algo.pathfinding; |
||||
|
||||
|
||||
import mightypork.gamecore.util.math.algo.Coord; |
||||
import mightypork.gamecore.util.math.algo.Step; |
||||
|
||||
|
||||
public interface PathFindingContext { |
||||
|
||||
/** |
||||
* @param pos tile pos |
||||
* @return true if the tile is walkable |
||||
*/ |
||||
boolean isAccessible(Coord pos); |
||||
|
||||
|
||||
/** |
||||
* Cost of walking onto a tile. It's useful to use ie. 10 for basic step. |
||||
* |
||||
* @param from last tile |
||||
* @param to current tile |
||||
* @return cost |
||||
*/ |
||||
int getCost(Coord from, Coord to); |
||||
|
||||
|
||||
/** |
||||
* @return lowest cost. Used to multiply heuristics. |
||||
*/ |
||||
int getMinCost(); |
||||
|
||||
|
||||
/** |
||||
* @return used heuristic |
||||
*/ |
||||
Heuristic getHeuristic(); |
||||
|
||||
|
||||
Step[] getWalkSides(); |
||||
} |
@ -1,29 +0,0 @@ |
||||
package mightypork.rogue.world.entity; |
||||
|
||||
|
||||
import mightypork.gamecore.util.math.algo.Coord; |
||||
|
||||
|
||||
public class SimpleEntityPathFindingContext extends EntityPathfindingContext { |
||||
|
||||
public SimpleEntityPathFindingContext(Entity entity) |
||||
{ |
||||
super(entity); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public int getCost(Coord from, Coord to) |
||||
{ |
||||
return 10; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public int getMinCost() |
||||
{ |
||||
return 10; |
||||
} |
||||
|
||||
|
||||
} |
@ -0,0 +1,59 @@ |
||||
package mightypork.rogue.world.entity.entities; |
||||
|
||||
|
||||
import mightypork.rogue.world.entity.Entity; |
||||
|
||||
|
||||
public class RatAi extends MonsterAi { |
||||
|
||||
public RatAi(Entity entity) |
||||
{ |
||||
super(entity); |
||||
|
||||
setAttackTime(1); |
||||
setScanTime(2); |
||||
setSleepTime(100); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
protected double getScanRadius() |
||||
{ |
||||
return isSleeping() ? 2 + rand.nextInt(3) : 4 + rand.nextInt(3); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
protected double getAttackDistance() |
||||
{ |
||||
return 1.42; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
protected int getAttackStrength() |
||||
{ |
||||
return 1 + rand.nextInt(2); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
protected int getPreyAbandonDistance() |
||||
{ |
||||
return 8 + rand.nextInt(4); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
protected boolean shouldSkipScan() |
||||
{ |
||||
return false;//rand.nextInt(3) == 0;
|
||||
} |
||||
|
||||
|
||||
@Override |
||||
protected boolean shouldRandomlyAbandonPrey() |
||||
{ |
||||
return false;//rand.nextInt(8) == 0;
|
||||
} |
||||
} |
@ -0,0 +1,59 @@ |
||||
package mightypork.rogue.world.entity.entities; |
||||
|
||||
|
||||
import mightypork.gamecore.util.math.algo.pathfinding.PathFinder; |
||||
import mightypork.rogue.world.entity.*; |
||||
import mightypork.rogue.world.entity.renderers.EntityRenderer; |
||||
import mightypork.rogue.world.entity.renderers.EntityRendererMobLR; |
||||
|
||||
|
||||
public class RatEntity extends Entity { |
||||
|
||||
/** Navigation PFC */ |
||||
private PathFinder pathf; |
||||
|
||||
private final RatAi ai = new RatAi(this); |
||||
|
||||
private EntityRenderer renderer; |
||||
|
||||
|
||||
public RatEntity(EntityModel model, int eid) |
||||
{ |
||||
super(model, eid); |
||||
|
||||
addModule("ai", ai); |
||||
pos.addMoveListener(ai); |
||||
|
||||
pos.setStepTime(0.5); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public PathFinder getPathFinder() |
||||
{ |
||||
if (pathf == null) { |
||||
pathf = new EntityPathFinder(this); |
||||
} |
||||
|
||||
return pathf; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public EntityType getType() |
||||
{ |
||||
return EntityType.MONSTER; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
protected EntityRenderer getRenderer() |
||||
{ |
||||
if (renderer == null) { |
||||
renderer = new EntityRendererMobLR(this, "sprite.player"); |
||||
} |
||||
|
||||
return renderer; |
||||
} |
||||
|
||||
} |
@ -1,41 +0,0 @@ |
||||
package mightypork.rogue.world.entity.entities; |
||||
|
||||
|
||||
import mightypork.gamecore.util.math.algo.pathfinding.PathFindingContext; |
||||
import mightypork.rogue.world.entity.*; |
||||
|
||||
|
||||
public abstract class SimpleMonster extends Entity { |
||||
|
||||
/** Navigation PFC */ |
||||
private EntityPathfindingContext pathfc; |
||||
|
||||
private final EntityModule ai = new MonsterAi(this); |
||||
|
||||
|
||||
public SimpleMonster(EntityModel model, int eid) |
||||
{ |
||||
super(model, eid); |
||||
|
||||
addModule("ai", ai); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public PathFindingContext getPathfindingContext() |
||||
{ |
||||
if (pathfc == null) { |
||||
pathfc = new SimpleEntityPathFindingContext(this); |
||||
} |
||||
|
||||
return pathfc; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public EntityType getType() |
||||
{ |
||||
return EntityType.MONSTER; |
||||
} |
||||
|
||||
} |
@ -1,14 +0,0 @@ |
||||
package mightypork.rogue.world.tile; |
||||
|
||||
|
||||
/** |
||||
* Data storage for tile renderer |
||||
* |
||||
* @author MightyPork |
||||
*/ |
||||
public class TileRenderData { |
||||
|
||||
public byte shadows; |
||||
public boolean shadowsComputed; |
||||
|
||||
} |
@ -1,39 +0,0 @@ |
||||
package mightypork.rogue.world.tile.renderers; |
||||
|
||||
|
||||
import mightypork.gamecore.render.Render; |
||||
import mightypork.gamecore.resources.textures.TxSheet; |
||||
import mightypork.gamecore.util.math.constraints.rect.Rect; |
||||
import mightypork.rogue.Res; |
||||
import mightypork.rogue.world.level.render.TileRenderContext; |
||||
import mightypork.rogue.world.tile.Tile; |
||||
import mightypork.rogue.world.tile.TileRenderer; |
||||
|
||||
|
||||
public class DoorRenderer extends TileRenderer { |
||||
|
||||
private final TxSheet closed; |
||||
private final TxSheet open; |
||||
|
||||
|
||||
public DoorRenderer(String quadClosed, String quadOpen) |
||||
{ |
||||
this.closed = Res.getTxSheet(quadClosed); |
||||
this.open = Res.getTxSheet(quadOpen); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public void renderTile(TileRenderContext context) |
||||
{ |
||||
final Tile t = context.getTile(); |
||||
final Rect rect = context.getRect(); |
||||
|
||||
if (t.isOccupied()) { |
||||
Render.quadTextured(rect, open.getRandomQuad(context.getTileNoise())); |
||||
} else { |
||||
Render.quadTextured(rect, closed.getRandomQuad(context.getTileNoise())); |
||||
} |
||||
} |
||||
|
||||
} |
@ -0,0 +1,70 @@ |
||||
package mightypork.rogue.world.tile.renderers; |
||||
|
||||
|
||||
import mightypork.gamecore.render.Render; |
||||
import mightypork.gamecore.resources.textures.TxSheet; |
||||
import mightypork.gamecore.util.math.constraints.rect.Rect; |
||||
import mightypork.gamecore.util.math.timing.TimedTask; |
||||
import mightypork.rogue.Res; |
||||
import mightypork.rogue.world.level.render.TileRenderContext; |
||||
import mightypork.rogue.world.tile.Tile; |
||||
import mightypork.rogue.world.tile.TileRenderer; |
||||
import mightypork.rogue.world.tile.tiles.TileBaseDoor; |
||||
|
||||
|
||||
public class DoorTileRenderer extends TileRenderer { |
||||
|
||||
private final TxSheet locked; |
||||
private final TxSheet closed; |
||||
private final TxSheet open; |
||||
|
||||
private boolean visuallyOpen = false; |
||||
|
||||
private final TimedTask closeTask = new TimedTask() { |
||||
|
||||
@Override |
||||
public void run() |
||||
{ |
||||
System.out.println("CLOSEDOOR + "+ ((TileBaseDoor) tile).isOpen()); |
||||
visuallyOpen = ((TileBaseDoor) tile).isOpen(); |
||||
} |
||||
}; |
||||
|
||||
|
||||
public DoorTileRenderer(TileBaseDoor doorTile, TxSheet locked, TxSheet closed, TxSheet open) |
||||
{ |
||||
super(doorTile); |
||||
|
||||
this.locked = locked; |
||||
this.closed = closed; |
||||
this.open = open; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public void renderTile(TileRenderContext context) |
||||
{ |
||||
final Rect rect = context.getRect(); |
||||
|
||||
if (!visuallyOpen && ((TileBaseDoor) tile).isOpen()) visuallyOpen = true; |
||||
|
||||
if (visuallyOpen && !((TileBaseDoor) tile).isOpen()) { |
||||
if(!closeTask.isRunning()) closeTask.start(0.4); |
||||
} |
||||
|
||||
if (visuallyOpen) { |
||||
Render.quadTextured(rect, open.getRandomQuad(context.getTileNoise())); |
||||
} else { |
||||
TxSheet sheet = (((TileBaseDoor) tile).isLocked() ? locked : closed); |
||||
Render.quadTextured(rect, sheet.getRandomQuad(context.getTileNoise())); |
||||
} |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public void update(double delta) |
||||
{ |
||||
closeTask.update(delta); |
||||
} |
||||
|
||||
} |
@ -1,38 +0,0 @@ |
||||
package mightypork.rogue.world.tile.renderers; |
||||
|
||||
|
||||
import mightypork.gamecore.render.Render; |
||||
import mightypork.gamecore.resources.textures.TxSheet; |
||||
import mightypork.gamecore.util.math.constraints.rect.Rect; |
||||
import mightypork.rogue.Res; |
||||
import mightypork.rogue.world.level.render.TileRenderContext; |
||||
import mightypork.rogue.world.tile.Tile; |
||||
import mightypork.rogue.world.tile.TileRenderer; |
||||
|
||||
|
||||
public class LockedDoorRenderer extends DoorRenderer { |
||||
|
||||
private final TxSheet locked; |
||||
|
||||
|
||||
public LockedDoorRenderer(String sheetLocked, String sheetClosed, String sheetOpen) |
||||
{ |
||||
super(sheetClosed, sheetOpen); |
||||
this.locked = Res.getTxSheet(sheetLocked); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public void renderTile(TileRenderContext context) |
||||
{ |
||||
final Tile t = context.getTile(); |
||||
|
||||
if (!t.isWalkable()) { |
||||
final Rect rect = context.getRect(); |
||||
Render.quadTextured(rect, locked.getRandomQuad(context.getTileNoise())); |
||||
} else { |
||||
super.renderTile(context); |
||||
} |
||||
} |
||||
|
||||
} |
@ -1,29 +0,0 @@ |
||||
package mightypork.rogue.world.tile.tiles; |
||||
|
||||
|
||||
import mightypork.rogue.world.tile.TileModel; |
||||
import mightypork.rogue.world.tile.TileRenderer; |
||||
import mightypork.rogue.world.tile.TileType; |
||||
|
||||
|
||||
public class DoorTile extends SolidTile { |
||||
|
||||
public DoorTile(TileModel model, TileRenderer renderer) |
||||
{ |
||||
super(model, renderer); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public boolean isWalkable() |
||||
{ |
||||
return true; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public TileType getType() |
||||
{ |
||||
return TileType.DOOR; |
||||
} |
||||
} |
@ -1,22 +0,0 @@ |
||||
package mightypork.rogue.world.tile.tiles; |
||||
|
||||
|
||||
import mightypork.rogue.world.tile.TileModel; |
||||
import mightypork.rogue.world.tile.TileRenderer; |
||||
import mightypork.rogue.world.tile.TileType; |
||||
|
||||
|
||||
public class FloorTile extends GroundTile { |
||||
|
||||
public FloorTile(TileModel model, TileRenderer renderer) |
||||
{ |
||||
super(model, renderer); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public TileType getType() |
||||
{ |
||||
return TileType.FLOOR; |
||||
} |
||||
} |
@ -1,44 +0,0 @@ |
||||
package mightypork.rogue.world.tile.tiles; |
||||
|
||||
|
||||
import java.io.IOException; |
||||
|
||||
import mightypork.gamecore.util.ion.IonInput; |
||||
import mightypork.gamecore.util.ion.IonOutput; |
||||
import mightypork.rogue.world.tile.TileModel; |
||||
import mightypork.rogue.world.tile.TileRenderer; |
||||
|
||||
|
||||
public class LockedDoorTile extends DoorTile { |
||||
|
||||
public boolean locked = true; |
||||
|
||||
|
||||
public LockedDoorTile(TileModel model, TileRenderer renderer) |
||||
{ |
||||
super(model, renderer); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public boolean isWalkable() |
||||
{ |
||||
return !locked; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public void load(IonInput in) throws IOException |
||||
{ |
||||
super.load(in); |
||||
locked = in.readBoolean(); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public void save(IonOutput out) throws IOException |
||||
{ |
||||
super.save(out); |
||||
out.writeBoolean(locked); |
||||
} |
||||
} |
@ -0,0 +1,82 @@ |
||||
package mightypork.rogue.world.tile.tiles; |
||||
|
||||
|
||||
import java.io.IOException; |
||||
|
||||
import mightypork.gamecore.resources.textures.TxSheet; |
||||
import mightypork.gamecore.util.ion.IonInput; |
||||
import mightypork.gamecore.util.ion.IonOutput; |
||||
import mightypork.rogue.world.tile.TileModel; |
||||
import mightypork.rogue.world.tile.TileRenderer; |
||||
import mightypork.rogue.world.tile.TileType; |
||||
import mightypork.rogue.world.tile.renderers.DoorTileRenderer; |
||||
|
||||
|
||||
public abstract class TileBaseDoor extends TileSolid { |
||||
|
||||
private final DoorTileRenderer renderer; |
||||
protected boolean locked = false; |
||||
|
||||
|
||||
public TileBaseDoor(TileModel model, TxSheet locked, TxSheet closed, TxSheet open) |
||||
{ |
||||
super(model); |
||||
|
||||
this.renderer = new DoorTileRenderer(this, locked, closed, open); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
protected TileRenderer getRenderer() |
||||
{ |
||||
return renderer; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public boolean isWalkable() |
||||
{ |
||||
return !locked; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public TileType getType() |
||||
{ |
||||
return TileType.DOOR; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public void load(IonInput in) throws IOException |
||||
{ |
||||
super.load(in); |
||||
locked = in.readBoolean(); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public void save(IonOutput out) throws IOException |
||||
{ |
||||
super.save(out); |
||||
out.writeBoolean(locked); |
||||
} |
||||
|
||||
|
||||
/** |
||||
* @return true if the door appears open |
||||
*/ |
||||
public boolean isOpen() |
||||
{ |
||||
return isOccupied(); |
||||
} |
||||
|
||||
|
||||
/** |
||||
* @return true if the door is locked |
||||
*/ |
||||
public boolean isLocked() |
||||
{ |
||||
return locked; |
||||
} |
||||
} |
@ -0,0 +1,34 @@ |
||||
package mightypork.rogue.world.tile.tiles; |
||||
|
||||
|
||||
import mightypork.gamecore.resources.textures.TxSheet; |
||||
import mightypork.rogue.world.tile.TileModel; |
||||
import mightypork.rogue.world.tile.TileRenderer; |
||||
import mightypork.rogue.world.tile.TileType; |
||||
import mightypork.rogue.world.tile.renderers.BasicTileRenderer; |
||||
|
||||
|
||||
public abstract class TileBaseFloor extends TileWalkable { |
||||
|
||||
private BasicTileRenderer renderer; |
||||
|
||||
|
||||
public TileBaseFloor(TileModel model, TxSheet sheet) |
||||
{ |
||||
super(model); |
||||
this.renderer = new BasicTileRenderer(this, sheet); |
||||
} |
||||
|
||||
@Override |
||||
protected TileRenderer getRenderer() |
||||
{ |
||||
return renderer; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public TileType getType() |
||||
{ |
||||
return TileType.FLOOR; |
||||
} |
||||
} |
@ -0,0 +1,49 @@ |
||||
package mightypork.rogue.world.tile.tiles; |
||||
|
||||
|
||||
import mightypork.gamecore.resources.textures.TxSheet; |
||||
import mightypork.rogue.world.tile.TileModel; |
||||
import mightypork.rogue.world.tile.TileRenderer; |
||||
import mightypork.rogue.world.tile.TileType; |
||||
import mightypork.rogue.world.tile.renderers.BasicTileRenderer; |
||||
|
||||
|
||||
/** |
||||
* Collapsed wall that's walk-through |
||||
* |
||||
* @author MightyPork |
||||
*/ |
||||
public abstract class TileBasePassage extends TileSolid { |
||||
|
||||
private BasicTileRenderer renderer; |
||||
|
||||
|
||||
public TileBasePassage(TileModel model, TxSheet sheet) |
||||
{ |
||||
super(model); |
||||
|
||||
this.renderer = new BasicTileRenderer(this, sheet); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
protected TileRenderer getRenderer() |
||||
{ |
||||
return renderer; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public TileType getType() |
||||
{ |
||||
return TileType.PASSAGE; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public boolean isWalkable() |
||||
{ |
||||
return true; |
||||
} |
||||
|
||||
} |
@ -0,0 +1,35 @@ |
||||
package mightypork.rogue.world.tile.tiles; |
||||
|
||||
|
||||
import mightypork.gamecore.resources.textures.TxSheet; |
||||
import mightypork.rogue.world.level.render.TileRenderContext; |
||||
import mightypork.rogue.world.tile.TileModel; |
||||
import mightypork.rogue.world.tile.TileRenderer; |
||||
import mightypork.rogue.world.tile.TileType; |
||||
import mightypork.rogue.world.tile.renderers.BasicTileRenderer; |
||||
|
||||
|
||||
public abstract class TileBaseWall extends TileSolid { |
||||
|
||||
private BasicTileRenderer renderer; |
||||
|
||||
|
||||
public TileBaseWall(TileModel model, TxSheet sheet) |
||||
{ |
||||
super(model); |
||||
this.renderer = new BasicTileRenderer(this, sheet); |
||||
} |
||||
|
||||
|
||||
public BasicTileRenderer getRenderer() |
||||
{ |
||||
return renderer; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public TileType getType() |
||||
{ |
||||
return TileType.WALL; |
||||
} |
||||
} |
@ -1,35 +0,0 @@ |
||||
package mightypork.rogue.world.tile.tiles; |
||||
|
||||
|
||||
import mightypork.rogue.world.tile.TileModel; |
||||
import mightypork.rogue.world.tile.TileRenderer; |
||||
import mightypork.rogue.world.tile.TileType; |
||||
|
||||
|
||||
/** |
||||
* Collapsed wall that's walk-through |
||||
* |
||||
* @author MightyPork |
||||
*/ |
||||
public class WallPassageTile extends SolidTile { |
||||
|
||||
public WallPassageTile(TileModel model, TileRenderer renderer) |
||||
{ |
||||
super(model, renderer); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public TileType getType() |
||||
{ |
||||
return TileType.PASSAGE; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public boolean isWalkable() |
||||
{ |
||||
return true; |
||||
} |
||||
|
||||
} |
@ -1,22 +0,0 @@ |
||||
package mightypork.rogue.world.tile.tiles; |
||||
|
||||
|
||||
import mightypork.rogue.world.tile.TileModel; |
||||
import mightypork.rogue.world.tile.TileRenderer; |
||||
import mightypork.rogue.world.tile.TileType; |
||||
|
||||
|
||||
public class WallTile extends SolidTile { |
||||
|
||||
public WallTile(TileModel model, TileRenderer renderer) |
||||
{ |
||||
super(model, renderer); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public TileType getType() |
||||
{ |
||||
return TileType.WALL; |
||||
} |
||||
} |
@ -0,0 +1,22 @@ |
||||
package mightypork.rogue.world.tile.tiles.brick; |
||||
|
||||
import mightypork.rogue.Res; |
||||
import mightypork.rogue.world.tile.TileModel; |
||||
import mightypork.rogue.world.tile.tiles.TileBaseDoor; |
||||
|
||||
|
||||
public class TileBrickDoor extends TileBaseDoor { |
||||
|
||||
public TileBrickDoor(TileModel model) |
||||
{ |
||||
//@formatter:off
|
||||
super( |
||||
model, |
||||
Res.sheet("tile.brick.door.locked"), |
||||
Res.sheet("tile.brick.door.closed"), |
||||
Res.sheet("tile.brick.door.open") |
||||
); |
||||
//@formatter:on
|
||||
} |
||||
|
||||
} |
@ -0,0 +1,16 @@ |
||||
package mightypork.rogue.world.tile.tiles.brick; |
||||
|
||||
import mightypork.gamecore.resources.textures.TxSheet; |
||||
import mightypork.rogue.Res; |
||||
import mightypork.rogue.world.tile.TileModel; |
||||
import mightypork.rogue.world.tile.tiles.TileBaseFloor; |
||||
|
||||
|
||||
public class TileBrickFloor extends TileBaseFloor { |
||||
|
||||
public TileBrickFloor(TileModel model) |
||||
{ |
||||
super(model, Res.sheet("tile.brick.floor")); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,17 @@ |
||||
package mightypork.rogue.world.tile.tiles.brick; |
||||
|
||||
|
||||
import mightypork.rogue.Res; |
||||
import mightypork.rogue.world.tile.TileModel; |
||||
import mightypork.rogue.world.tile.tiles.TileBaseDoor; |
||||
import mightypork.rogue.world.tile.tiles.TileBasePassage; |
||||
|
||||
|
||||
public class TileBrickPassage extends TileBasePassage { |
||||
|
||||
public TileBrickPassage(TileModel model) |
||||
{ |
||||
super(model, Res.sheet("tile.brick.passage")); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,26 @@ |
||||
package mightypork.rogue.world.tile.tiles.brick; |
||||
|
||||
import mightypork.gamecore.util.math.color.Color; |
||||
import mightypork.gamecore.util.math.color.pal.RGB; |
||||
import mightypork.rogue.Res; |
||||
import mightypork.rogue.world.tile.TileModel; |
||||
import mightypork.rogue.world.tile.tiles.TileBaseDoor; |
||||
import mightypork.rogue.world.tile.tiles.TileBaseSecretDoor; |
||||
|
||||
|
||||
public class TileBrickSecretDoor extends TileBaseSecretDoor { |
||||
|
||||
public TileBrickSecretDoor(TileModel model) |
||||
{ |
||||
//@formatter:off
|
||||
super( |
||||
model, |
||||
Res.sheet("tile.brick.door.secret"), |
||||
Res.sheet("tile.brick.door.closed"), |
||||
Res.sheet("tile.brick.door.open") |
||||
); |
||||
//@formatter:on
|
||||
|
||||
locked = true; // hide it
|
||||
} |
||||
} |
@ -0,0 +1,16 @@ |
||||
package mightypork.rogue.world.tile.tiles.brick; |
||||
|
||||
import mightypork.gamecore.resources.textures.TxSheet; |
||||
import mightypork.rogue.Res; |
||||
import mightypork.rogue.world.tile.TileModel; |
||||
import mightypork.rogue.world.tile.tiles.TileBaseWall; |
||||
|
||||
|
||||
public class TileBrickWall extends TileBaseWall { |
||||
|
||||
public TileBrickWall(TileModel model) |
||||
{ |
||||
super(model, Res.sheet("tile.brick.wall")); |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue