package de.uniks.pmws1920.builder; public class ModelBuilder { private PropertyChangeSupport listeners = null; private War war = new War(); private ArrayList playerList = new ArrayList<>(); private ArrayList houseList = new ArrayList<>(); private ArrayList shroomList = new ArrayList<>(); // =================================================================================== // Game Rule Methods // =================================================================================== public War initGame() { // take player list // give each player a house (hp = 10, capacity = 10) they own // place 4 shrooms (hp = 10, atk = 2) for each player at their house // add the same amount of unconquered houses as player in the game e.g. 4 Player = 4 Unconquered Houses // Only use the build-Methods below to create Entities return this.war; } // =================================================================================== // Player // =================================================================================== // Get, Create or Update public Player buildPlayer(int id, String name, String color) { // Update, Create, Return and fire property change } // Remove is present trigger property change public void removePlayer(Player player) { // Remove and fire property change } // =================================================================================== // Shroom // =================================================================================== // Get, Create or Update public Shroom buildShroom(int id, int ownerId, int targetId, int hp, int attackValue) { // Update, Create, Return and fire property change } // Remove public void removeShroom(Shroom shroom) { // Remove and fire property change } // =================================================================================== // House // =================================================================================== // Get, Create or Update public House buildHouse(int id, int ownerId, int hp, int capacity) { // Update, Create, Return and fire property change } // Remove public void removeHouse(House house) { // Remove and fire property change } // =================================================================================== // PropertyChange??Handling // =================================================================================== public boolean addPropertyChangeListener(String propertyName, PropertyChangeListener listener) { if (listeners == null) { listeners = new PropertyChangeSupport(this); } listeners.addPropertyChangeListener(propertyName, listener); return true; } }