package dev.kris.justi.simplegame.ui; import java.awt.Graphics; import java.awt.event.MouseEvent; import java.util.ArrayList; public class UIManager { private ArrayList objects; private ArrayList objectsSetUps; private ArrayList objectsGame; private ArrayList objectsMulti; private ArrayList objectsStero; public UIManager(){ objects= new ArrayList(); objectsSetUps= new ArrayList(); objectsGame= new ArrayList(); objectsMulti = new ArrayList(); objectsStero = new ArrayList(); } public void tick(){ for(UIObject o : objects) o.tick(); } public void tickSetUp(){ for(UIObject o : objectsSetUps) o.tick(); } public void tickStero(){ for(UIObject o : objectsStero) o.tick(); } public void tickGame(){ for(UIObject o : objectsGame) o.tick(); } public void render (Graphics g){ for(UIObject o : objects) o.render(g); } public void renderSetUp(Graphics g){ for(UIObject o : objectsSetUps) o.renderSetUp(g); } public void renderMulti(Graphics g){ for(UIObject o : objectsMulti) o.renderSetUp(g); } public void renderStero(Graphics g){ for(UIObject o : objectsStero) o.renderSetUp(g); } public void renderGame(Graphics g){ for(UIObject o : objectsGame) o.renderGame(g);; } public void onMouseMove (MouseEvent e){ for(UIObject o : objects) o.onMouseMove(e); for(UIObject o : objectsSetUps) o.onMouseMove(e); for(UIObject o : objectsGame) o.onMouseMove(e); for(UIObject o : objectsMulti) o.onMouseMove(e); for(UIObject o : objectsStero) o.onMouseMove(e); } public void onMouseRelease (MouseEvent e){ for(UIObject o : objects) o.onMouseRelease(e); for(UIObject o : objectsSetUps) o.onMouseRelease(e); for(UIObject o : objectsGame) o.onMouseRelease(e); for(UIObject o : objectsMulti) o.onMouseRelease(e); for(UIObject o : objectsStero) o.onMouseRelease(e); } public void addObject(UIObject o){ objects.add(o); } public void addObjectToSetUps(UIObject o){ objectsSetUps.add(o); } public void addObjectToMulti(UIObject o){ objectsMulti.add(o); } public void addObjectToStero(UIObject o){ objectsStero.add(o); } public void addObjectToGame(UIObject o){ objectsGame.add(o); } public void removeObject(UIObject o){ objects.remove(o); } public void removeObjectFromStero(UIObject o){ objectsStero.remove(o); } public void removeObjectFromSetUps(UIObject o){ objectsSetUps.remove(o); } public void removeObjectFromGame(UIObject o){ objectsGame.remove(o); } public void removeObjectFromMulti(UIObject o){ objectsMulti.remove(o); } public void tickMulti() { for(UIObject o : objectsMulti) o.tick(); } }