package cicaprojekt; /** * A játékban megjelenő mezőket reprezentáló osztály. */ public class Field extends cicaprojekt.Tile { /** * Az osztály konstruktora. */ public Field() { super(); } /** * Igazzal tér vissza, ha rá lehet lépni a mezőre, hamissal, ha nem. * A rajta lévő dobozok szerint dönti el, hoyg rá lehet-e lépni. * * @return igaz, ha nincsenek dobozok rajta * hamis, ha vannak dobozok rajta */ @Override public boolean isSteppable() { return boxStack.isEmpty(); } /** * A függvény akkor hívódik meg, ha egy személy rá akar lépni a mezőre. * Ha a mezőn vannak dobozok, akkor nem engedi rálépni a személyt, * ha nincsenek, akkor engedi. Ekkor átállítja a személy helyét a mezőre, * és ha azon volt ZPM, akkor azt a személy felveszi. * * @param playerBase a személy, aki rá akar lépni a mezőre */ @Override public void onEntry(PlayerBase playerBase) { super.onEntry(playerBase); if (boxStack.size() > 0) return; playerBase.setCurrentTile(this); if (zpmOnTile != null) playerBase.pickZPM(this); } /** * A függvény akkor hívódik meg, ha egy személy le akar lépni róla. * * @param playerBase a személy, aki le akar lépni a mezőről */ @Override public void onExit(PlayerBase playerBase) {} /** * A függvény azt adja meg, hogy lehet-e a mezőn ZPM. * * @return true */ @Override public boolean canHazZPM() { return true; } }