123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- package ui.controller;
- import java.util.ArrayList;
- import classes.Category;
- import classes.CpsObject;
- import classes.HolonElement;
- import classes.HolonObject;
- import ui.model.Model;
- public class ObjectController {
- private Model MODEL;
- private SearchController sC;
- public ObjectController(Model model, SearchController sC) {
- this.MODEL = model;
- this.sC = sC;
- initHolonElements();
- }
- /**
- * init default Power supply of the Power Plant
- */
- public void initHolonElements() {
- addNewElementIntoCategoryObject("Energy", "Power Plant", "Power", 1, 100);
- addNewElementIntoCategoryObject("Energy", "Power Plant", "Zero", 10, 100);
- addNewElementIntoCategoryObject("Energy", "Power Plant", "Rehab", 10, 100);
- addNewElementIntoCategoryObject("Energy", "Power Plant", "The Doctor", 40, 100);
- addNewElementIntoCategoryObject("Energy", "Power Plant", "Original", 1, 100);
- }
- /**
- * Adds Element into a Object
- */
- public void addElement(HolonObject object, HolonElement element) {
- object.getElements().add(element);
- }
- /**
- * Adds Element into a Object on the Canvas
- *
- * @param object
- * @param element
- * @param type
- */
- public void addElementIntoCanvasObject(HolonObject object, HolonElement element) {
- element.setSav("Canvas");
- element.setObj(object.getObjName());
- addElement(object, element);
- }
- /**
- * Add a new Element into a Object on the Canvas
- *
- * @param object
- * @param eleName
- * @param amount
- * @param energy
- * @param type
- */
- public void addNewElementIntoCanvasObject(int id, String eleName, int amount, float energy) {
- addElementIntoCanvasObject((HolonObject) sC.searchByID(id), new HolonElement(eleName, amount, energy));
- }
- /**
- * Add Element into a Object in Category
- *
- * @param object
- * @param element
- * @param type
- */
- public void addElementIntoCategoryObject(String category, String object, HolonElement element) {
- Category cat = null;
- for (Category cats : MODEL.getCategories()) {
- if (cats.getName().equals(category)) {
- cat = cats;
- break;
- }
- }
- element.setSav(cat.getName());
- element.setObj(object);
- addElement(sC.searchHolonObject(object, cat.getObjects()), element);
- }
- /**
- * Add a new Element into a Object in Category
- *
- * @param category
- * @param object
- * @param eleName
- * @param amount
- * @param energy
- * @param type
- */
- public void addNewElementIntoCategoryObject(String category, String object, String eleName, int amount,
- float energy) {
- addElementIntoCategoryObject(category, object, new HolonElement(eleName, amount, energy));
- }
- /**
- * deletes a Element from a given Object
- *
- * @param obj
- * @param ele
- */
- public void deleteElement(HolonObject obj, HolonElement ele) {
- obj.getElements().remove(ele);
- }
- /**
- * deletes a Element from a given Canvas Object
- *
- * @param ID
- * @param ele
- * @param amount
- */
- public void deleteElementInCanvas(int ID, String ele) {
- HolonObject object = (HolonObject) sC.searchByID(ID);
- HolonElement element = sC.searchHolonElement(object, ele);
-
- deleteElement(object, element);
- }
- /**
- * deletes a Element from a given Category Object
- *
- * @param cat
- * @param obj
- * @param ele
- * @param amount
- */
- public void deleteElementInCategory(String cat, String obj, String ele, int amount) {
- Category category = searchCategory(cat);
- HolonObject object = sC.searchHolonObject(obj, category.getObjects());
- HolonElement element = sC.searchHolonElement(object, ele);
- deleteElement(object, element);
- }
- /**
- * search for Category
- * @param category
- * @return
- */
- public Category searchCategory(String category) {
- for (Category cats : MODEL.getCategories()) {
- if (cats.getName().equals(category))
- return cats;
- }
- return null;
- }
- /**
- * Returns the ID of the selected Object 0 = no Object is selected
- *
- * @return ID
- */
- public void setSelectedObjectID(int id) {
- MODEL.setSelectedObjectID(id);
- }
- }
|