IntermediateCableWithState.java 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package model;
  2. import classes.Edge;
  3. import classes.HolonObject;
  4. import model.DecoratedCable.CableState;
  5. import ui.controller.FlexManager;
  6. /**
  7. * Intermediate to calculate/simulate the burning of Cables.
  8. * When all burning is done the Cable will be represented as a DecoratedCable.
  9. * @see DecoratedCable
  10. */
  11. public class IntermediateCableWithState {
  12. private CableState state;
  13. private Edge model;
  14. public IntermediateCableWithState(Edge model,CableState state)
  15. {
  16. this.model = model;
  17. this.state = state;
  18. }
  19. public CableState getState() {
  20. return state;
  21. }
  22. public void setState(CableState state) {
  23. this.state = state;
  24. }
  25. public Edge getModel() {
  26. return model;
  27. }
  28. //ugly
  29. public float getEnergyFromConnetedAtTimestep(int iteration, FlexManager flexManager) {
  30. float energy = 0.0f;
  31. if(model.getA() instanceof HolonObject && ((HolonObject) model.getA()).getEnergyAtTimeStepWithFlex(iteration, flexManager) > 0) energy += ((HolonObject) model.getA()).getEnergyAtTimeStepWithFlex(iteration, flexManager);
  32. if(model.getB() instanceof HolonObject && ((HolonObject) model.getB()).getEnergyAtTimeStepWithFlex(iteration, flexManager) > 0) energy += ((HolonObject) model.getB()).getEnergyAtTimeStepWithFlex(iteration, flexManager);
  33. return energy;
  34. }
  35. }