package ttt.organization; import nu.xom.Element; import toritools.math.Vector2; import ttt.io.XMLSerializeable; import ttt.organization.managers.TTT_ScriptManager; import ttt.organization.managers.TTT_TypeManager; public class TTT_Entity implements XMLSerializeable { // a view public final TTT_EntityView view; // scripts public final TTT_ScriptManager scripts; // variables public final TTT_VariableCase variables; // types public final TTT_TypeManager types; public TTT_Entity() { view = TTT_EntityView.DEFAULT; variables = new TTT_VariableCase(); types = new TTT_TypeManager(); scripts = new TTT_ScriptManager(); setPos(Vector2.ZERO); setDim(Vector2.ZERO); setDir(0); } @Override public Element writeToElement() { Element e = new Element(getElementName()); e.appendChild(variables.writeToElement()); e.appendChild(types.writeToElement()); e.appendChild(scripts.writeToElement()); return e; } @Override public void assembleFromElement(Element entity) { variables.assembleFromElement(entity.getChildElements( variables.getElementName()).get(0)); types.assembleFromElement(entity.getChildElements( types.getElementName()).get(0)); scripts.assembleFromElement(entity.getChildElements( scripts.getElementName()).get(0)); } @Override public String getElementName() { return "entity"; } public String toString() { return getElementName(); } public int getDir() { return (int) variables.loadFloat("dir"); } public Vector2 getPos() { return variables.loadVector("pos"); } public Vector2 getDim() { return variables.loadVector("dim"); } public void setDir(final int dir) { variables.store("dir", dir); } public void setPos(final Vector2 pos) { variables.store("pos", pos); } public void setDim(final Vector2 dim) { variables.store("dim", dim); } }