123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. public class Inventory {
  2. private Item[] items;
  3. public Inventory(Item[] items) {
  4. super();
  5. this.items = items;
  6. }
  7. public void updateQuality(){
  8. for (int i = 0; i < items.length; i++) {
  9. if (items[i].getName().equals("Aged Brie")){
  10. updateBrieWhole(items[i]);
  11. } else if (items[i].getName().equals("Sulfuras, Hand of Ragnaros")){
  12. updateSulfWhole(items[i]);
  13. } else {
  14. updateNormWhole(items[i]);
  15. }
  16. }
  17. }
  18. public void updateSell(Item item){
  19. int updateSellValue = item.getSellIn()-1;
  20. item.setSellIn(updateSellValue);
  21. }
  22. public void updateSulfWhole(Item item){
  23. //updateSell(item);
  24. updateSulfQual(item);
  25. }
  26. public void updateSulfQual(Item item){
  27. //For future changes to Sulfurus Item
  28. }
  29. public void updateBrieWhole(Item item){
  30. updateSell(item);
  31. updateBrieQual(item);
  32. }
  33. public void updateBrieQual(Item item){
  34. int updateQualValue = item.getQuality()+1;
  35. if (item.getQuality() > 50){
  36. item.setQuality(50);
  37. }
  38. if (item.getQuality() > 0 && item.getQuality() < 50){
  39. item.setQuality(updateQualValue);
  40. } else if (item.getQuality() < 0){
  41. item.setQuality(0);
  42. //Quality cannot be negative
  43. } else {
  44. item.setQuality(item.getQuality());
  45. //keeps it at 50
  46. }
  47. if (item.getSellIn() < 0){
  48. item.setQuality(updateQualValue + 1);
  49. }
  50. }
  51. public void updateNormWhole(Item item){
  52. updateSell(item);
  53. updateNormQual(item);
  54. }
  55. public void updateNormQual(Item item){
  56. int updateQualValue = item.getQuality()-1;
  57. if (item.getQuality() > 50){
  58. item.setQuality(50);
  59. }
  60. if (item.getQuality() > 0){
  61. item.setQuality(updateQualValue);
  62. } else {
  63. item.setQuality(0);
  64. //Quality cannot be negative
  65. }
  66. if (item.getSellIn() < 0){
  67. item.setQuality(updateQualValue - 1);
  68. }
  69. }
  70. }