Skip to content
Snippets Groups Projects
Verified Commit 4fc4f184 authored by Tóth Miklós Tibor's avatar Tóth Miklós Tibor :shrug:
Browse files

Merge remote-tracking branch 'origin/blint'

# Conflicts:
#	src/projlab/GUI.java
#	src/projlab/SettlerControlPanel.java
parents db79b9e2 31d7c097
No related branches found
No related tags found
1 merge request!113docs
Pipeline #7779 failed
Pipeline: tester

#7780

    ...@@ -5,17 +5,47 @@ package projlab; ...@@ -5,17 +5,47 @@ package projlab;
    */ */
    @Docs(changed = true) @Docs(changed = true)
    public abstract class AsteroidObserver { public abstract class AsteroidObserver {
    /**
    * Entitás odamozgáskor elsütött metódus.
    * @param a melyik aszteroidára történt a mozgás
    * @param e ki mozgott
    */
    void entityMovedTo(Asteroid a, Entity e){} void entityMovedTo(Asteroid a, Entity e){}
    /**
    * Entitás mozgásakor elsütött metódus.
    * @param a melyik aszteroidáról történt a mozgás
    * @param e ki mozgott
    */
    void entityMovedFrom(Asteroid a, Entity e){} void entityMovedFrom(Asteroid a, Entity e){}
    /**
    * Aszteroida felrobbanásakor elsütött metódus.
    * @param a melyik aszteroidával történt az esemény
    */
    void asteroidExploded(Asteroid a){} void asteroidExploded(Asteroid a){}
    /**
    * Aszteroida megfúrásakor elsütött metódus.
    * @param a melyik aszteroidával történt az esemény
    */
    void asteroidDrilled(Asteroid a){} void asteroidDrilled(Asteroid a){}
    /**
    * Aszteroida magjának megváltozásakor elsütött metódus.
    * @param a melyik aszteroidával történt az esemény
    */
    void asteroidCoreChanged(Asteroid a){} void asteroidCoreChanged(Asteroid a){}
    /**
    * Aszteroida napközelségének megváltozásakor elsütött metódus.
    * @param a melyik aszteroidával történt az esemény
    */
    void asteroidNearSunChanged(Asteroid a){} void asteroidNearSunChanged(Asteroid a){}
    /**
    * Napszél esetén elsütött metódus.
    * @param a melyik aszteroidával történt az esemény
    */
    void asteroidSolarFlared(Asteroid a){} void asteroidSolarFlared(Asteroid a){}
    } }
    ...@@ -43,6 +43,10 @@ public class GUI extends Application { ...@@ -43,6 +43,10 @@ public class GUI extends Application {
    */ */
    private Thread t; private Thread t;
    /**
    * Elindítja a játékot.
    * @param primaryStage kezdőfázis
    */
    @Override @Override
    public void start(Stage primaryStage) { public void start(Stage primaryStage) {
    primaryStage.setTitle("Projlab"); primaryStage.setTitle("Projlab");
    ...@@ -91,8 +95,14 @@ public class GUI extends Application { ...@@ -91,8 +95,14 @@ public class GUI extends Application {
    s1.setInventory(materialList); s1.setInventory(materialList);
    } }
    @Docs(uml = "GUI +-- GUI.MainRunnable") /**
    * A fő szál.
    */
    @Docs(changed = true, uml = "GUI +-- GUI.MainRunnable")
    private static class MainRunnable implements Runnable { private static class MainRunnable implements Runnable {
    /**
    * Elindítja a fő szálat.
    */
    @Override @Override
    public void run() { public void run() {
    for (var run = true; run = Game.isRun();) { for (var run = true; run = Game.isRun();) {
    ......
    ...@@ -3,8 +3,15 @@ package projlab; ...@@ -3,8 +3,15 @@ package projlab;
    /** /**
    * Az GUI működéséhez szükséges megfigyelők. * Az GUI működéséhez szükséges megfigyelők.
    */ */
    @Docs(changed = true)
    public abstract class GameObserver { public abstract class GameObserver {
    /**
    * Vesztés esetén elsütött esemény.
    */
    void lose(){} void lose(){}
    /**
    * Győzelem esetén elsütött esemény.
    */
    void win(){} void win(){}
    } }
    ...@@ -15,7 +15,12 @@ import java.util.Map; ...@@ -15,7 +15,12 @@ import java.util.Map;
    /** /**
    * A telepes tárolójának kiválasztására szolgáló GUI-s panel. * A telepes tárolójának kiválasztására szolgáló GUI-s panel.
    */ */
    @Docs(changed = true)
    public class InventoryChooserPanel extends HBox { public class InventoryChooserPanel extends HBox {
    /**
    * Aktuális fázis.
    */
    private Stage stage; private Stage stage;
    /** /**
    ...@@ -40,16 +45,27 @@ public class InventoryChooserPanel extends HBox { ...@@ -40,16 +45,27 @@ public class InventoryChooserPanel extends HBox {
    /** /**
    * A nyersanyag kiválasztása után ellőt esemény. * A nyersanyag kiválasztása után ellőt esemény.
    */ */
    @Docs(changed = true)
    public interface InventoryChosen { public interface InventoryChosen {
    /**
    * Nyersanyag kiválasztásakor ellőtt esemény.
    */
    void chosen(Material material); void chosen(Material material);
    } }
    /** /**
    * A kiválasztást kezelő segédosztály. * A kiválasztást kezelő segédosztály.
    */ */
    @Docs(uml = "InventoryChooserPanel +-- InventoryChooserPanel.ChooseHandler") @Docs(uml = "InventoryChooserPanel +-- InventoryChooserPanel.ChooseHandler", changed = true)
    public class ChooseHandler implements EventHandler<MouseEvent> { public class ChooseHandler implements EventHandler<MouseEvent> {
    /**
    * Tárolóválasztó
    */
    private final InventoryChosen ch; private final InventoryChosen ch;
    /**
    * Nyersanyag
    */
    private final Material mat; private final Material mat;
    public ChooseHandler(Material m, InventoryChosen c) { public ChooseHandler(Material m, InventoryChosen c) {
    ...@@ -57,6 +73,9 @@ public class InventoryChooserPanel extends HBox { ...@@ -57,6 +73,9 @@ public class InventoryChooserPanel extends HBox {
    ch = c; ch = c;
    } }
    /**
    * Egérkattintásra értesíti a fő ablakot a választott anyagról.
    */
    @Override @Override
    public void handle(MouseEvent mouseEvent) { public void handle(MouseEvent mouseEvent) {
    ch.chosen(mat); ch.chosen(mat);
    ......
    ...@@ -18,14 +18,21 @@ import java.util.Map; ...@@ -18,14 +18,21 @@ import java.util.Map;
    /** /**
    * A GUI központi eleme, amin a játék történik. * A GUI központi eleme, amin a játék történik.
    */ */
    @Docs(changed = true)
    public class MainPanel extends AnchorPane { public class MainPanel extends AnchorPane {
    /** /**
    * A meglátogatható objektumok, amelyek gombként jelennek meg. * A meglátogatható objektumok, amelyek gombként jelennek meg.
    */ */
    private final Map<Visitable, Button> visitables = new HashMap<>(); private final Map<Visitable, Button> visitables = new HashMap<>();
    /**
    * Az aszteroidákat összekötő vonalak.
    */
    private final ArrayList<Line> lines = new ArrayList<>(); private final ArrayList<Line> lines = new ArrayList<>();
    /**
    * A felhasználói felületre kirajzolja a vonalakat.
    */
    private void drawLines() { private void drawLines() {
    var children = getChildren(); var children = getChildren();
    for (var l: lines) { for (var l: lines) {
    ...@@ -54,6 +61,9 @@ public class MainPanel extends AnchorPane { ...@@ -54,6 +61,9 @@ public class MainPanel extends AnchorPane {
    } }
    } }
    /**
    * Legenerált aszteroidák száma.
    */
    private final int astAmount = 10; private final int astAmount = 10;
    /** /**
    ...@@ -73,6 +83,11 @@ public class MainPanel extends AnchorPane { ...@@ -73,6 +83,11 @@ public class MainPanel extends AnchorPane {
    Game.addObserver(obs); Game.addObserver(obs);
    } }
    /**
    * Megadja, hogy egy adott Visitable-nek hol kell elhelyezkednie a képernyőn, hogy esztétikus legyen a megjelenítés.
    * @param v
    * @return
    */
    private Coordinates getLocation(Visitable v) { private Coordinates getLocation(Visitable v) {
    var h = getHeight()-80; var h = getHeight()-80;
    var w = getWidth()-80; var w = getWidth()-80;
    ...@@ -81,6 +96,12 @@ public class MainPanel extends AnchorPane { ...@@ -81,6 +96,12 @@ public class MainPanel extends AnchorPane {
    return new Coordinates(x, y); return new Coordinates(x, y);
    } }
    /**
    * Hozzáad egy GUI elemet az ablakhoz.
    * @param n
    * @param x
    * @param y
    */
    private void add(Node n, double x, double y) { private void add(Node n, double x, double y) {
    AnchorPane.setLeftAnchor(n, x); AnchorPane.setLeftAnchor(n, x);
    AnchorPane.setTopAnchor(n, y); AnchorPane.setTopAnchor(n, y);
    ...@@ -207,7 +228,7 @@ public class MainPanel extends AnchorPane { ...@@ -207,7 +228,7 @@ public class MainPanel extends AnchorPane {
    /** /**
    * Látogatható objektum kattintás kezelése. * Látogatható objektum kattintás kezelése.
    */ */
    @Docs(uml = "MainPanel +-- MainPanel.VisitableClickedHandler") @Docs(uml = "MainPanel +-- MainPanel.VisitableClickedHandler", changed = true)
    private class VisitableClickedHandler implements EventHandler<MouseEvent> { private class VisitableClickedHandler implements EventHandler<MouseEvent> {
    private final Visitable vis; private final Visitable vis;
    public VisitableClickedHandler(Visitable v) { public VisitableClickedHandler(Visitable v) {
    ...@@ -225,7 +246,7 @@ public class MainPanel extends AnchorPane { ...@@ -225,7 +246,7 @@ public class MainPanel extends AnchorPane {
    /** /**
    * A GUI változtatásához szükséges megfigyelő. * A GUI változtatásához szükséges megfigyelő.
    */ */
    @Docs(uml = "MainPanel +-- MainPanel.AsteroidGUIObserver") @Docs(uml = "MainPanel +-- MainPanel.AsteroidGUIObserver", changed = true)
    private class AsteroidGUIObserver extends AsteroidObserver { private class AsteroidGUIObserver extends AsteroidObserver {
    @Override @Override
    ...@@ -276,9 +297,9 @@ public class MainPanel extends AnchorPane { ...@@ -276,9 +297,9 @@ public class MainPanel extends AnchorPane {
    } }
    /** /**
    * Segédosztály a telepes megváltoztatásához. * A telepes megváltozásait figyelő osztály.
    */ */
    @Docs(uml = "MainPanel +-- MainPanel.SettlerChanged") @Docs(uml = "MainPanel +-- MainPanel.SettlerChanged", changed = true)
    private class SettlerChanged extends SettlerObserver { private class SettlerChanged extends SettlerObserver {
    @Override @Override
    ...@@ -309,7 +330,7 @@ public class MainPanel extends AnchorPane { ...@@ -309,7 +330,7 @@ public class MainPanel extends AnchorPane {
    /** /**
    * Az GUI működéséhez szükséges megfigyelők. * Az GUI működéséhez szükséges megfigyelők.
    */ */
    @Docs(uml = "MainPanel +-- MainPanel.PortalGUIObserver") @Docs(uml = "MainPanel +-- MainPanel.PortalGUIObserver", changed = true)
    private class PortalGUIObserver extends PortalObserver { private class PortalGUIObserver extends PortalObserver {
    @Override @Override
    public void portalMoved(Visitable newAsteroid, Portal p) { public void portalMoved(Visitable newAsteroid, Portal p) {
    ...@@ -332,7 +353,7 @@ public class MainPanel extends AnchorPane { ...@@ -332,7 +353,7 @@ public class MainPanel extends AnchorPane {
    /** /**
    * Az GUI működéséhez szükséges megfigyelők. * Az GUI működéséhez szükséges megfigyelők.
    */ */
    @Docs(uml = "MainPanel +-- MainPanel.WinLoseObserver") @Docs(uml = "MainPanel +-- MainPanel.WinLoseObserver", changed = true)
    private class WinLoseObserver extends GameObserver { private class WinLoseObserver extends GameObserver {
    private void replaceAllWithTxt(String text) { private void replaceAllWithTxt(String text) {
    Platform.runLater(() -> { Platform.runLater(() -> {
    ......
    ...@@ -3,10 +3,24 @@ package projlab; ...@@ -3,10 +3,24 @@ package projlab;
    /** /**
    * Az GUI működéséhez szükséges megfigyelők. * Az GUI működéséhez szükséges megfigyelők.
    */ */
    @Docs(changed = true)
    public abstract class PortalObserver { public abstract class PortalObserver {
    /**
    * Kerge portál mozgásakor ellőtt esemény.
    * @param newAsteroid
    * @param p
    */
    void portalMoved(Visitable newAsteroid, Portal p){} void portalMoved(Visitable newAsteroid, Portal p){}
    /**
    * Portál megkergülésekor ellőtt esemény.
    * @param p
    */
    void portalBecomeKerge(Portal p){} void portalBecomeKerge(Portal p){}
    /**
    * Portál felrobbanásakor ellőtt esemény.
    * @param p
    */
    void portalExploded(Portal p){} void portalExploded(Portal p){}
    } }
    ...@@ -12,6 +12,7 @@ import java.util.concurrent.locks.ReentrantLock; ...@@ -12,6 +12,7 @@ import java.util.concurrent.locks.ReentrantLock;
    /** /**
    * A telepes irányításához szükséges vezérlőpanel. Ezen vannak a fúrás, bányászás stb. gombok. * A telepes irányításához szükséges vezérlőpanel. Ezen vannak a fúrás, bányászás stb. gombok.
    */ */
    @Docs(changed = true)
    public class SettlerControlPanel extends HBox { public class SettlerControlPanel extends HBox {
    private final Button mine = new Button("mine"); private final Button mine = new Button("mine");
    private final Button drill = new Button("drill"); private final Button drill = new Button("drill");
    ...@@ -23,6 +24,9 @@ public class SettlerControlPanel extends HBox { ...@@ -23,6 +24,9 @@ public class SettlerControlPanel extends HBox {
    private final ReentrantLock roundDone = new ReentrantLock(); private final ReentrantLock roundDone = new ReentrantLock();
    /**
    * Éppen az a telepes, amelyiknek a körében tartunk.
    */
    private Settler settler = null; private Settler settler = null;
    /** /**
    ...@@ -56,7 +60,7 @@ public class SettlerControlPanel extends HBox { ...@@ -56,7 +60,7 @@ public class SettlerControlPanel extends HBox {
    /** /**
    * Bányászás gomb lenyomása. * Bányászás gomb lenyomása.
    */ */
    @Docs(uml = "SettlerControlPanel +-- SettlerControlPanel.MineBtnEvent") @Docs(uml = "SettlerControlPanel +-- SettlerControlPanel.MineBtnEvent", changed = true)
    private class MineBtnEvent implements EventHandler<MouseEvent> { private class MineBtnEvent implements EventHandler<MouseEvent> {
    @Override @Override
    public void handle(MouseEvent mouseEvent) { public void handle(MouseEvent mouseEvent) {
    ...@@ -64,6 +68,9 @@ public class SettlerControlPanel extends HBox { ...@@ -64,6 +68,9 @@ public class SettlerControlPanel extends HBox {
    } }
    } }
    /**
    * Fúrás gomb lenyomása.
    */
    public void pushedDrillBtn() { public void pushedDrillBtn() {
    var success = settler.drill(); var success = settler.drill();
    if (success) { if (success) {
    ...@@ -74,7 +81,7 @@ public class SettlerControlPanel extends HBox { ...@@ -74,7 +81,7 @@ public class SettlerControlPanel extends HBox {
    /** /**
    * Fúrás gomb lenyomása. * Fúrás gomb lenyomása.
    */ */
    @Docs(uml = "SettlerControlPanel +-- SettlerControlPanel.DrillBtnEvent") @Docs(uml = "SettlerControlPanel +-- SettlerControlPanel.DrillBtnEvent", changed = true)
    private class DrillBtnEvent implements EventHandler<MouseEvent> { private class DrillBtnEvent implements EventHandler<MouseEvent> {
    @Override @Override
    public void handle(MouseEvent mouseEvent) { public void handle(MouseEvent mouseEvent) {
    ...@@ -82,7 +89,7 @@ public class SettlerControlPanel extends HBox { ...@@ -82,7 +89,7 @@ public class SettlerControlPanel extends HBox {
    } }
    } }
    @Docs(uml = "SettlerControlPanel +-- SettlerControlPanel.ChosenHandler") @Docs(uml = "SettlerControlPanel +-- SettlerControlPanel.ChosenHandler", changed = true)
    private class ChosenHandler implements InventoryChooserPanel.InventoryChosen { private class ChosenHandler implements InventoryChooserPanel.InventoryChosen {
    @Override @Override
    public void chosen(Material material) { public void chosen(Material material) {
    ...@@ -105,7 +112,7 @@ public class SettlerControlPanel extends HBox { ...@@ -105,7 +112,7 @@ public class SettlerControlPanel extends HBox {
    /** /**
    * Nyersanyag visszahelyezése gomb lenyomása. * Nyersanyag visszahelyezése gomb lenyomása.
    */ */
    @Docs(uml = "SettlerControlPanel +-- SettlerControlPanel.PutBackBtnEvent") @Docs(uml = "SettlerControlPanel +-- SettlerControlPanel.PutBackBtnEvent", changed = true)
    private class PutBackBtnEvent implements EventHandler<MouseEvent> { private class PutBackBtnEvent implements EventHandler<MouseEvent> {
    @Override @Override
    public void handle(MouseEvent mouseEvent) { public void handle(MouseEvent mouseEvent) {
    ...@@ -126,7 +133,7 @@ public class SettlerControlPanel extends HBox { ...@@ -126,7 +133,7 @@ public class SettlerControlPanel extends HBox {
    /** /**
    * Robot építése gomb lenyomása. * Robot építése gomb lenyomása.
    */ */
    @Docs(uml = "SettlerControlPanel +-- SettlerControlPanel.BuildRobotBtnEvent") @Docs(uml = "SettlerControlPanel +-- SettlerControlPanel.BuildRobotBtnEvent", changed = true)
    private class BuildRobotBtnEvent implements EventHandler<MouseEvent> { private class BuildRobotBtnEvent implements EventHandler<MouseEvent> {
    @Override @Override
    public void handle(MouseEvent mouseEvent) { public void handle(MouseEvent mouseEvent) {
    ...@@ -147,7 +154,7 @@ public class SettlerControlPanel extends HBox { ...@@ -147,7 +154,7 @@ public class SettlerControlPanel extends HBox {
    /** /**
    * Teleportkapu építése gomb lenyomása. * Teleportkapu építése gomb lenyomása.
    */ */
    @Docs(uml = "SettlerControlPanel +-- SettlerControlPanel.BuildPortalBtnEvent") @Docs(uml = "SettlerControlPanel +-- SettlerControlPanel.BuildPortalBtnEvent", changed = true)
    private class BuildPortalBtnEvent implements EventHandler<MouseEvent> { private class BuildPortalBtnEvent implements EventHandler<MouseEvent> {
    @Override @Override
    public void handle(MouseEvent mouseEvent) { public void handle(MouseEvent mouseEvent) {
    ...@@ -169,7 +176,7 @@ public class SettlerControlPanel extends HBox { ...@@ -169,7 +176,7 @@ public class SettlerControlPanel extends HBox {
    /** /**
    * Teleportkapu lerakása gomb lenyomása. * Teleportkapu lerakása gomb lenyomása.
    */ */
    @Docs(uml = "SettlerControlPanel +-- SettlerControlPanel.PlacePortalBtnEvent") @Docs(uml = "SettlerControlPanel +-- SettlerControlPanel.PlacePortalBtnEvent", changed = true)
    private class PlacePortalBtnEvent implements EventHandler<MouseEvent> { private class PlacePortalBtnEvent implements EventHandler<MouseEvent> {
    @Override @Override
    public void handle(MouseEvent mouseEvent) { public void handle(MouseEvent mouseEvent) {
    ...@@ -194,6 +201,9 @@ public class SettlerControlPanel extends HBox { ...@@ -194,6 +201,9 @@ public class SettlerControlPanel extends HBox {
    } catch (InterruptedException ignored) {} } catch (InterruptedException ignored) {}
    } }
    /**
    * A telepes körében ellőtt esemény.
    */
    public void settlerTicked() { public void settlerTicked() {
    waitTick(); waitTick();
    } }
    ...@@ -201,7 +211,7 @@ public class SettlerControlPanel extends HBox { ...@@ -201,7 +211,7 @@ public class SettlerControlPanel extends HBox {
    /** /**
    * Segédosztály a telepesek léptetésének kezeléséhez. * Segédosztály a telepesek léptetésének kezeléséhez.
    */ */
    @Docs(uml = "SettlerControlPanel +-- SettlerControlPanel.SettlerTickHandler") @Docs(uml = "SettlerControlPanel +-- SettlerControlPanel.SettlerTickHandler", changed = true)
    public class SettlerTickHandler extends SettlerObserver { public class SettlerTickHandler extends SettlerObserver {
    @Override @Override
    ...@@ -223,7 +233,7 @@ public class SettlerControlPanel extends HBox { ...@@ -223,7 +233,7 @@ public class SettlerControlPanel extends HBox {
    /** /**
    * Segédosztály a nyerés/vesztés kezeléséhez. * Segédosztály a nyerés/vesztés kezeléséhez.
    */ */
    @Docs(uml = "SettlerControlPanel +-- SettlerControlPanel.WinLoseHandler") @Docs(uml = "SettlerControlPanel +-- SettlerControlPanel.WinLoseHandler", changed = true)
    public class WinLoseHandler extends GameObserver { public class WinLoseHandler extends GameObserver {
    private void clear() { private void clear() {
    ......
    ...@@ -6,6 +6,7 @@ import javafx.scene.control.Label; ...@@ -6,6 +6,7 @@ import javafx.scene.control.Label;
    /** /**
    * A telepes információinak (tároló, stb) szolgáló panel. * A telepes információinak (tároló, stb) szolgáló panel.
    */ */
    @Docs(changed = true)
    public class SettlerInfoPanel extends Label { public class SettlerInfoPanel extends Label {
    public SettlerInfoPanel() { public SettlerInfoPanel() {
    super("No settlers"); super("No settlers");
    ...@@ -39,7 +40,7 @@ public class SettlerInfoPanel extends Label { ...@@ -39,7 +40,7 @@ public class SettlerInfoPanel extends Label {
    /** /**
    * A telepessel történő események kezelésére szolgáló segédosztály. * A telepessel történő események kezelésére szolgáló segédosztály.
    */ */
    @Docs(uml = "SettlerInfoPanel +-- SettlerInfoPanel.SettlerEventHandler") @Docs(uml = "SettlerInfoPanel +-- SettlerInfoPanel.SettlerEventHandler", changed = true)
    public class SettlerEventHandler extends SettlerObserver { public class SettlerEventHandler extends SettlerObserver {
    @Override @Override
    ...@@ -69,9 +70,12 @@ public class SettlerInfoPanel extends Label { ...@@ -69,9 +70,12 @@ public class SettlerInfoPanel extends Label {
    /** /**
    * Segédosztály a nyerés/vesztés kezeléséhez. * Segédosztály a nyerés/vesztés kezeléséhez.
    */ */
    @Docs(uml = "SettlerInfoPanel +-- SettlerInfoPanel.WinLoseHandler") @Docs(uml = "SettlerInfoPanel +-- SettlerInfoPanel.WinLoseHandler", changed = true)
    public class WinLoseHandler extends GameObserver { public class WinLoseHandler extends GameObserver {
    /**
    * Letörli a képernyőt.
    */
    private void clear() { private void clear() {
    var children = getChildren(); var children = getChildren();
    Platform.runLater(() -> children.clear()); Platform.runLater(() -> children.clear());
    ......
    ...@@ -3,12 +3,30 @@ package projlab; ...@@ -3,12 +3,30 @@ package projlab;
    /** /**
    * Az GUI működéséhez szükséges megfigyelők. * Az GUI működéséhez szükséges megfigyelők.
    */ */
    @Docs(changed = true)
    public abstract class SettlerObserver { public abstract class SettlerObserver {
    /**
    * A telepes körében ellőtt esemény.
    * @param s
    */
    void settlerTick(Settler s){} void settlerTick(Settler s){}
    /**
    * A telepes nyersanyagraktárának megváltozásakor ellőtt esemény.
    * @param s
    */
    void settlerInventoryChanged(Settler s){} void settlerInventoryChanged(Settler s){}
    /**
    * A telepes portálraktárának megváltozásakor ellőtt esemény.
    * @param s
    */
    void portalInventoryChanged(Settler s){} void portalInventoryChanged(Settler s){}
    /**
    * Portál elhelyezésekor ellőtt esemény.
    * @param s
    * @param p
    */
    void portalPlaced(Settler s, Portal p){} void portalPlaced(Settler s, Portal p){}
    } }
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Please register or to comment