Comments added and IllegalStateException removed from Gate.java
This commit is contained in:
parent
33c3bce6e2
commit
793761083a
@ -1,36 +1,81 @@
|
||||
package cicaprojekt;
|
||||
|
||||
/**
|
||||
* A játékban megjelenő kapukat reprezentáló osztály.
|
||||
*/
|
||||
public class Gate extends Tile {
|
||||
/**
|
||||
* A kapu nyitottságát jelzi, alapértelemezett értéke csukva.
|
||||
*/
|
||||
private boolean open = false;
|
||||
|
||||
/**
|
||||
* Az osztály konstruktora.
|
||||
*/
|
||||
public Gate() {
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* Akkor hívódik meg, ha a kapu felé egy csillagkaput lőnek.
|
||||
* Ha a kapu nyitva van, akkor továbbítja a csillagkaput a megfelelő irányba.
|
||||
*
|
||||
* @param stargate a <code>Stargate</code> példány, amely a kapuhoz érkezik
|
||||
* @param direction az a <code>Direction</code>, amerről jön a csillagkapu-
|
||||
* lövedék, és amerre tovább kell mennie.
|
||||
*/
|
||||
@Override
|
||||
public void spawnStargate(Stargate stargate, Direction direction) {
|
||||
if (this.open) adjacentTile.get(direction).spawnStargate(stargate, direction);
|
||||
}
|
||||
|
||||
/**
|
||||
* A függvény igazzal tér vissza, ha a kapu nyitva van, hamissal, ha csukva.
|
||||
*
|
||||
* @return a kapu állapota
|
||||
*/
|
||||
@Override
|
||||
public boolean boxPermission()
|
||||
{
|
||||
return open;
|
||||
}
|
||||
|
||||
/**
|
||||
* A függvény akkor hívódik meg, ha egy személy rá akar lépni a kapura.
|
||||
* Ha a kapu nyitva van, akkor ez lehetséges, ekkor a személy helyzete
|
||||
* átkerül a kapura.
|
||||
*
|
||||
* @param playerBase az a <code>PlayerBase</code> példány, amely rá akar
|
||||
* lépni a kapura
|
||||
*/
|
||||
@Override
|
||||
public void onEntry(PlayerBase playerBase) {
|
||||
super.onEntry(playerBase);
|
||||
if (open) playerBase.setCurrentTile(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* A függvény akkor hívódik meg, ha egy személy el akarja hagyni a kaput.
|
||||
* Ha a kapu zárva van, akkor benne lévő személy megsemmisül.
|
||||
*
|
||||
* @param playerBase az a <code>PlayerBase</code> példány, amely ki akar
|
||||
* lépni a kapuból
|
||||
*/
|
||||
@Override
|
||||
public void onExit(PlayerBase playerBase) throws IllegalStateException {
|
||||
public void onExit(PlayerBase playerBase) {
|
||||
if (!open) {
|
||||
throw new IllegalStateException("Hiba! Te hogy kerültél a csukott ajtóba?");
|
||||
playerBase.destroy();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A függvény azzal tér vissza, hogy rá lehet-e lépni a kapura.
|
||||
* Ha az nyitva van, akkor annak függvényében dől el a válasz, hogy
|
||||
* van-e rajta doboz, egyébként pedig attól függ, hogy nyitva van-e
|
||||
* a kapu.
|
||||
*
|
||||
* @return a ráléphetőség igazságértéke
|
||||
*/
|
||||
@Override
|
||||
public boolean isSteppable()
|
||||
{
|
||||
@ -40,10 +85,20 @@ public class Gate extends Tile {
|
||||
return open;
|
||||
}
|
||||
|
||||
/**
|
||||
* A függvény visszatér a kapu nyitvalevőségével.
|
||||
*
|
||||
* @return nyitvalevőség
|
||||
*/
|
||||
public boolean isOpen() {
|
||||
return open;
|
||||
}
|
||||
|
||||
/**
|
||||
* A függvény beállítja a kapott paramétrre a kapu nyitvalevőségét.
|
||||
*
|
||||
* @param gateState a kapott érték, hogy nyitva, vagy csukva legyen a kapu
|
||||
*/
|
||||
public void setOpen(boolean gateState) {
|
||||
this.open = gateState;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user