public abstract class Level extends java.lang.Object implements Bundlable
Modifier and Type | Class and Description |
---|---|
static class |
Level.Feeling |
Modifier and Type | Field and Description |
---|---|
boolean[] |
allCells |
boolean[] |
avoid |
int[] |
baseTileVariant |
java.util.Map<java.lang.Class<? extends Blob>,Blob> |
blobs |
int |
color1 |
int |
color2 |
int[] |
decoTileVariant |
boolean[] |
discoverable |
int |
entrance |
boolean[] |
fieldOfView |
boolean[] |
flammable |
java.lang.String |
levelId |
boolean[] |
losBlocking |
int[] |
map |
boolean[] |
mapped |
static int |
MIN_VIEW_DISTANCE |
java.util.HashSet<Mob> |
mobs |
boolean[] |
nearWalls |
static int[] |
NEIGHBOURS4 |
static int[] |
NEIGHBOURS8 |
static int[] |
NEIGHBOURS9 |
SparseArray<SparseArray<LevelObject>> |
objects |
boolean[] |
passable |
boolean[] |
pit |
SparseArray<Plant> |
plants |
boolean[] |
secret |
boolean[] |
solid |
boolean[] |
visited |
boolean[] |
water |
Constructor and Description |
---|
Level() |
Modifier and Type | Method and Description |
---|---|
void |
activateScripts() |
void |
addItemToSpawn(Item item) |
void |
addLevelObject(LevelObject obj) |
void |
addScriptedActor(ScriptedActor actor) |
void |
addVisuals(Scene scene) |
boolean |
adjacent(int a,
int b) |
java.util.List<Heap> |
allHeaps() |
int |
blobAmountAt(java.lang.Class<? extends Blob> blobClass,
int cell) |
int |
cell(int i,
int j) |
boolean |
cellValid(int cell) |
boolean |
cellValid(int x,
int y) |
int |
cellX(int cell) |
int |
cellY(int cell) |
void |
charPress(int cell,
Char actor) |
void |
clearAreaFrom(java.lang.Class<? extends Blob> blobClass,
int cell,
int xs,
int ys) |
void |
clearAreaFrom(java.lang.Class<? extends Blob> blobClass,
int x,
int y,
int xs,
int ys) |
void |
create() |
void |
create(int w,
int h) |
boolean |
customTiles() |
void |
discover() |
int |
distance(int a,
int b) |
float |
distanceL2(int a,
int b) |
boolean |
dontPack() |
Heap |
drop(Item item,
int cell) |
int |
exitIndex(int pos) |
void |
fillAreaWith(java.lang.Class<? extends Blob> blobClass,
int cell,
int xs,
int ys,
int amount) |
void |
fillAreaWith(java.lang.Class<? extends Blob> blobClass,
int x,
int y,
int xs,
int ys,
int amount) |
static Level |
fromBundle(Bundle bundle,
java.lang.String key) |
int |
get(int i,
int j) |
java.util.ArrayList<java.lang.Integer> |
getAllTerrainCells(int terrainType) |
int |
getDistToNearestTerrain(int cell,
int terr) |
int |
getDistToNearestTerrain(int x,
int y,
int terr) |
int |
getEmptyCellNextTo(int cell) |
int |
getExit(java.lang.Integer index) |
Level.Feeling |
getFeeling() |
Heap |
getHeap(int pos) |
int |
getHeight() |
int |
getLength() |
LevelObject |
getLevelObject(int pos) |
LevelObject |
getLevelObject(int pos,
int layer) |
int |
getMaxViewDistance() |
int |
getNearestTerrain(int x,
int y,
int terr) |
int |
getNearestTerrain(int x,
int y,
int terr,
int ignoreCell) |
Mob |
getRandomMob() |
int |
getRandomTerrainCell(int terrainType) |
int |
getSolidCellNextTo(int cell) |
java.lang.String |
getTilesTex() |
int |
getTileType(int cell) |
LevelObject |
getTopLevelObject(int pos) |
int |
getViewDistance() |
java.lang.String |
getWaterTex() |
int |
getWidth() |
boolean |
hasExit(java.lang.Integer index) |
boolean |
isBossLevel() |
boolean |
isExit(int pos) |
boolean |
isSafe() |
boolean |
isStatic() |
void |
itemPress(int cell,
Presser presser) |
Item |
itemToSpanAsPrize() |
java.lang.String |
levelKind() |
void |
levelObjectMoved(LevelObject obj) |
void |
mobPress(Mob mob) |
java.lang.String |
music() |
int |
nMobs() |
boolean |
noFogOfWar() |
boolean |
objectPress(int cell,
LevelObject levelObject) |
void |
onHeroDescend(int cell) |
int |
pitCell() |
void |
plant(Plant.Seed seed,
int pos) |
void |
press(int cell,
Char obj) |
void |
pressHero(int cell,
Hero hero) |
void |
putLevelObject(LevelObject levelObject) |
int |
randomDestination() |
int |
randomRespawnCell() |
int |
randomRespawnCell(boolean[] selectFrom) |
void |
remove(LevelObject levelObject) |
void |
removeHeap(int pos) |
void |
removePets() |
void |
reset() |
Actor |
respawner() |
void |
restoreFromBundle(Bundle bundle) |
void |
reveal() |
void |
seal() |
void |
set(int cell,
int terrain) |
void |
set(int x,
int y,
int terrain) |
void |
setExit(int exit,
java.lang.Integer index) |
void |
setFeeling(Level.Feeling feeling) |
void |
spawnMob(Mob mob) |
void |
spawnMob(Mob mob,
float delay) |
void |
storeInBundle(Bundle bundle) |
java.lang.String |
tileDesc(int tile) |
java.lang.String |
tileDescByCell(int cell) |
java.lang.String |
tileName(int tile) |
java.lang.String |
tileNameByCell(int cell) |
int |
tunnelTile() |
void |
unseal() |
void |
updateFieldOfView(Char c) |
void |
uproot(int pos) |
public static int[] NEIGHBOURS4
public static int[] NEIGHBOURS8
public static int[] NEIGHBOURS9
public static final int MIN_VIEW_DISTANCE
public int[] map
public int[] baseTileVariant
public int[] decoTileVariant
public boolean[] visited
public boolean[] mapped
public boolean[] fieldOfView
public boolean[] passable
public boolean[] losBlocking
public boolean[] flammable
public boolean[] secret
public boolean[] solid
public boolean[] avoid
public boolean[] water
public boolean[] pit
public boolean[] nearWalls
public boolean[] allCells
public boolean[] discoverable
public int entrance
public java.lang.String levelId
public java.util.HashSet<Mob> mobs
public SparseArray<Plant> plants
public SparseArray<SparseArray<LevelObject>> objects
public int color1
public int color2
public int getExit(java.lang.Integer index)
public boolean hasExit(java.lang.Integer index)
public void setExit(int exit, java.lang.Integer index)
public boolean isExit(int pos)
public int exitIndex(int pos)
@Nullable public LevelObject getLevelObject(int pos)
@Nullable public LevelObject getLevelObject(int pos, int layer)
@Nullable public LevelObject getTopLevelObject(int pos)
public void putLevelObject(LevelObject levelObject)
public void onHeroDescend(int cell)
@NonNull public java.lang.String music()
public Level.Feeling getFeeling()
public void setFeeling(Level.Feeling feeling)
public void discover()
public boolean noFogOfWar()
public java.lang.String tileNameByCell(int cell)
public int getTileType(int cell)
public java.lang.String tileDescByCell(int cell)
public void reveal()
public int getViewDistance()
public int getMaxViewDistance()
public java.lang.String levelKind()
public Heap getHeap(int pos)
public void removeHeap(int pos)
public java.util.List<Heap> allHeaps()
public int cell(int i, int j)
public void create()
public void create(int w, int h)
public void reset()
public void restoreFromBundle(Bundle bundle)
restoreFromBundle
in interface Bundlable
public void removePets()
public void storeInBundle(Bundle bundle)
storeInBundle
in interface Bundlable
public int tunnelTile()
public java.lang.String getTilesTex()
@NonNull public java.lang.String getWaterTex()
public void addVisuals(Scene scene)
public int nMobs()
public void spawnMob(Mob mob)
public void spawnMob(Mob mob, float delay)
public Actor respawner()
public int randomRespawnCell()
public int randomRespawnCell(boolean[] selectFrom)
public int randomDestination()
public void addItemToSpawn(Item item)
public Item itemToSpanAsPrize()
public void set(int x, int y, int terrain)
public void set(int cell, int terrain)
public void levelObjectMoved(LevelObject obj)
public void addLevelObject(LevelObject obj)
public void plant(Plant.Seed seed, int pos)
public void remove(LevelObject levelObject)
public void uproot(int pos)
public int pitCell()
public void press(int cell, Char obj)
public void pressHero(int cell, Hero hero)
public boolean objectPress(int cell, LevelObject levelObject)
public void itemPress(int cell, Presser presser)
public void charPress(int cell, @Nullable Char actor)
public void mobPress(Mob mob)
public void updateFieldOfView(Char c)
public int distance(int a, int b)
public float distanceL2(int a, int b)
public boolean adjacent(int a, int b)
public java.lang.String tileName(int tile)
public java.lang.String tileDesc(int tile)
public int getWidth()
public int getHeight()
public int getLength()
public boolean cellValid(int x, int y)
public boolean cellValid(int cell)
public int getSolidCellNextTo(int cell)
public int getEmptyCellNextTo(int cell)
public boolean isBossLevel()
public void seal()
public void unseal()
public int getDistToNearestTerrain(int cell, int terr)
public int getDistToNearestTerrain(int x, int y, int terr)
public int getNearestTerrain(int x, int y, int terr)
public int getNearestTerrain(int x, int y, int terr, int ignoreCell)
public java.util.ArrayList<java.lang.Integer> getAllTerrainCells(int terrainType)
public int getRandomTerrainCell(int terrainType)
public int get(int i, int j)
public int cellX(int cell)
public int cellY(int cell)
public void fillAreaWith(java.lang.Class<? extends Blob> blobClass, int cell, int xs, int ys, int amount)
public void fillAreaWith(java.lang.Class<? extends Blob> blobClass, int x, int y, int xs, int ys, int amount)
public void clearAreaFrom(java.lang.Class<? extends Blob> blobClass, int cell, int xs, int ys)
public void clearAreaFrom(java.lang.Class<? extends Blob> blobClass, int x, int y, int xs, int ys)
public int blobAmountAt(java.lang.Class<? extends Blob> blobClass, int cell)
public Mob getRandomMob()
public boolean customTiles()
public boolean isSafe()
public boolean isStatic()
public void addScriptedActor(ScriptedActor actor)
public void activateScripts()