SongInstance.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package audio;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. public class SongInstance {
  5. private String difficulty;
  6. private List<ObjectInstance> objects;
  7. private List<ButtonInstance> buttons;
  8. public SongInstance(String difficulty)
  9. {
  10. this.difficulty = difficulty;
  11. objects = new ArrayList<ObjectInstance>();
  12. buttons = new ArrayList<ButtonInstance>();
  13. }
  14. public void addObjectInstance(ObjectInstance obj)
  15. {
  16. objects.add(obj);
  17. }
  18. public void addButtonInstance(ButtonInstance btn)
  19. {
  20. buttons.add(btn);
  21. }
  22. public List<ObjectInstance> getObjects() {
  23. return objects;
  24. }
  25. public List<ButtonInstance> getButtons() {
  26. return buttons;
  27. }
  28. public String getDifficulty() {
  29. return difficulty;
  30. }
  31. public void setDifficulty(String difficulty) {
  32. this.difficulty = difficulty;
  33. }
  34. public List<ObjectInstance> getObjectsBetween(long oldProgress, long progress) {
  35. List<ObjectInstance> b = new ArrayList<ObjectInstance>();
  36. for(ObjectInstance i : objects)
  37. {
  38. if(i.getTime() >= progress)
  39. {
  40. return b;
  41. }
  42. if(i.getTime() >= oldProgress && i.getTime() < progress)
  43. {
  44. b.add(i);
  45. }
  46. }
  47. return b;
  48. }
  49. public long getEndTime()
  50. {
  51. return objects.get(objects.size()-1).getTime();
  52. }
  53. public List<ButtonInstance> getButtonsBetween(long oldProgress, long progress) {
  54. List<ButtonInstance> b = new ArrayList<ButtonInstance>();
  55. for(ButtonInstance i : buttons)
  56. {
  57. if(i.getTime() > progress)
  58. {
  59. return b;
  60. }
  61. if(i.getTime() >= oldProgress && i.getTime() < progress)
  62. {
  63. b.add(i);
  64. }
  65. }
  66. return b;
  67. }
  68. }