package classes; import java.awt.Color; import java.util.ArrayList; import java.util.HashMap; import ui.model.idCounter; public abstract class CpsObject { /* Type of the Object */ String objName; /* Name given by the user */ String name; /* ID of the Obj. */ int ID; /* Path of the image for the Obj. */ String image; /* Array of neighbors */ ArrayList connections; /* Position with a X and Y value */ Position position; /* Energy input and output of each object in the grid */ /* Where the Object is Stored */ String sav; /* BorderColor the user sets */ Color BorderColor = Color.WHITE; /* a Tag that can be used */ ArrayList tags; /** * Constructor for an CpsObejct with an unique ID */ public CpsObject(String objName) { setObjName(objName); setName(objName); setImage("/Images/Dummy_House.png"); } public CpsObject(CpsObject obj) { setObjName(obj.getObjName()); setName(obj.getObjName()); setConnections(new ArrayList()); setPosition(new Position()); setID(idCounter.nextId()); setImage(obj.getImage()); } /* Obj type */ public String getObjName() { return objName; } public void setObjName(String objName) { this.objName = objName; } /* User defined Name */ public String getName() { return name; } public void setName(String name) { this.name = name; } /* Unique ID number */ public int getID() { return ID; } /** * @param iD * the iD to set */ public void setID(int ID) { this.ID = ID; } /* Image path */ public String getImage() { return image; } /** * @param image * the Image to set */ public void setImage(String image) { this.image = image; } /** * @return the connections */ public ArrayList getConnections() { return connections; } /** * @param arrayList * the connections to set */ public void setConnections(ArrayList arrayList) { this.connections = arrayList; } /* Neighbors array */ public ArrayList getConnectedTo() { return connections; } public void AddConnection(CpsEdge toConnect) { connections.add(toConnect); } public void setPosition(Position pos) { this.position = pos; } /* Position (x and Y) */ public void setPosition(int x, int y) { setPosition(new Position(x, y)); } public Position getPosition() { return position; } /** * @return the stored */ public String getSav() { return sav; } /** * @param stored * the stored to set */ public void setSav(String sav) { this.sav = sav; } /** * @return the BorderColor */ public Color getBorderColor() { return BorderColor; } /** * @param Color * the Color to set */ public void setConnections(Color color) { this.BorderColor = color; } public void addTag(int tag){ this.tags.add(tag); } public ArrayList getTag(){ return tags; } public void resetTags(){ this.tags = new ArrayList(); } public void setTags(ArrayList tags){ this.tags = tags; } }