diff --git a/cicaprojekt/Gate.java b/cicaprojekt/Gate.java
index 7136aed..83fcc73 100644
--- a/cicaprojekt/Gate.java
+++ b/cicaprojekt/Gate.java
@@ -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 Stargate
példány, amely a kapuhoz érkezik
+ * @param direction az a Direction
, 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 PlayerBase
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 PlayerBase
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;
}