@@ -13,9 +13,9 @@ public class CeInventory {
1313 CeItem equippedArmorHead ;
1414 CeItem equippedWeapon ;
1515
16- CeSlots [] slots = new CeSlots [10 ];
16+ CeSlot [] slots = new CeSlot [10 ];
1717
18- public void loadSaveInventory (CeItem armorShoulder , CeItem armorShoes , CeItem armorLegs , CeItem armorChest , CeItem armorHead , CeItem weapon , CeSlots [] slots ) {
18+ public void loadSaveInventory (CeItem armorShoulder , CeItem armorShoes , CeItem armorLegs , CeItem armorChest , CeItem armorHead , CeItem weapon , CeSlot [] slots ) {
1919 this .equippedArmorChest = armorChest ;
2020 this .slots = slots ;
2121 this .equippedArmorHead = armorHead ;
@@ -26,7 +26,7 @@ public void loadSaveInventory(CeItem armorShoulder, CeItem armorShoes, CeItem ar
2626
2727 public CeInventory (){
2828 for (int i = 0 ; i < slots .length ; i ++){
29- slots [i ] = new CeSlots ();
29+ slots [i ] = new CeSlot ();
3030 }
3131 }
3232
@@ -35,15 +35,17 @@ public void addItemToInventory(CeItem item) throws NoPlaceInInventoryException {
3535 boolean addedItem = false ;
3636 int firstEmptySlot = 0 ;
3737 for (int i = 0 ; i < slots .length ; i ++ ) {
38- CeSlots slot = slots [i ];
38+ CeSlot slot = slots [i ];
3939 if (slot .getItem () != null && slot .getItem ().compareTo (item )) {
4040 slot .increaseAmount ();
4141 foundSlot = true ;
4242 addedItem = true ;
43+ break ;
4344 }
4445 else if (slot .getItem () == null && !foundSlot ) {
4546 firstEmptySlot = i ;
4647 foundSlot = true ;
48+ break ;
4749 }
4850 }
4951 if (!addedItem && foundSlot ) slots [firstEmptySlot ].setItem (item );
@@ -56,7 +58,7 @@ public void useItem(CeItem item) throws ItemNotInInventoryException {
5658
5759 // maybe add exception for type cage
5860
59- for (CeSlots slot : slots ) {
61+ for (CeSlot slot : slots ) {
6062 CeItem slotItem = slot .getItem ();
6163 if (slotItem != null ){
6264 if (slotItem .compareTo (item )) {
@@ -75,32 +77,62 @@ public void useItem(CeItem item) throws ItemNotInInventoryException {
7577 }
7678
7779 public void setEquippedArmorShoulder (CeItem equippedArmorShoulder ) throws WrongItemException {
78- if (equippedArmorShoulder .getType () == CeItemTypes .armorShoulder ) this .equippedArmorShoulder = equippedArmorShoulder ;
80+ if (this .equippedArmorShoulder != null )
81+ this .equippedArmorShoulder .unequip ();
82+ if (equippedArmorShoulder .getType () == CeItemTypes .armorShoulder ){
83+ this .equippedArmorShoulder = equippedArmorShoulder ;
84+ this .equippedArmorShoulder .equip ();
85+ }
7986 else throw new WrongItemException (equippedArmorShoulder , "Armor type shoulderArmor" );
8087 }
8188
8289 public void setEquippedArmorShoes (CeItem equippedArmorShoes ) throws WrongItemException {
83- if (equippedArmorShoes .getType () == CeItemTypes .armorShoes ) this .equippedArmorShoes = equippedArmorShoes ;
90+ if (this .equippedArmorShoes != null )
91+ this .equippedArmorShoes .unequip ();
92+ if (equippedArmorShoes .getType () == CeItemTypes .armorShoes ){
93+ this .equippedArmorShoes = equippedArmorShoes ;
94+ this .equippedArmorShoes .equip ();
95+ }
8496 else throw new WrongItemException (equippedArmorShoes , "Armor type armorShoes" );
8597 }
8698
8799 public void setEquippedArmorLegs (CeItem equippedArmorLegs ) throws WrongItemException {
88- if (equippedArmorLegs .getType () == CeItemTypes .armorLegs ) this .equippedArmorLegs = equippedArmorLegs ;
100+ if (this .equippedArmorLegs != null )
101+ this .equippedArmorLegs .unequip ();
102+ if (equippedArmorLegs .getType () == CeItemTypes .armorLegs ){
103+ this .equippedArmorLegs = equippedArmorLegs ;
104+ this .equippedArmorLegs .equip ();
105+ }
89106 else throw new WrongItemException (equippedArmorLegs , "Armor type ArmorLegs" );
90107 }
91108
92109 public void setEquippedArmorChest (CeItem equippedArmorChest ) throws WrongItemException {
93- if (equippedArmorChest .getType () == CeItemTypes .armorChest ) this .equippedArmorChest = equippedArmorChest ;
110+ if (this .equippedArmorChest != null )
111+ this .equippedArmorChest .unequip ();
112+ if (equippedArmorChest .getType () == CeItemTypes .armorChest ){
113+ this .equippedArmorChest = equippedArmorChest ;
114+ this .equippedArmorChest .equip ();
115+ }
94116 else throw new WrongItemException (equippedArmorChest , "Armor type ArmorChest" );
95117 }
96118
97119 public void setEquippedArmorHead (CeItem equippedArmorHead ) throws WrongItemException {
98- if (equippedArmorHead .getType () == CeItemTypes .armorHead ) this .equippedArmorHead = equippedArmorHead ;
120+ if (this .equippedArmorHead != null )
121+ this .equippedArmorHead .unequip ();
122+ if (equippedArmorHead .getType () == CeItemTypes .armorHead ){
123+ this .equippedArmorHead = equippedArmorHead ;
124+ this .equippedArmorHead .equip ();
125+ }
99126 else throw new WrongItemException (equippedArmorHead , "Armor type armorHead" );
100127 }
101128
102129 public void setEquippedWeapon (CeItem equippedWeapon ) throws WrongItemException {
103- if (equippedWeapon .getType () == CeItemTypes .weapon ) this .equippedWeapon = equippedWeapon ;
130+ if (this .equippedWeapon != null )
131+ this .equippedWeapon .unequip ();
132+ if (equippedWeapon .getType () == CeItemTypes .weapon ){
133+ this .equippedWeapon = equippedWeapon ;
134+ this .equippedWeapon .equip ();
135+ }
104136 else throw new WrongItemException (equippedWeapon , "Armor type weapon" );
105137 }
106138
@@ -128,7 +160,7 @@ public CeItem getEquippedWeapon() {
128160 return equippedWeapon ;
129161 }
130162
131- public CeSlots [] getSlots () {
163+ public CeSlot [] getSlots () {
132164 return slots ;
133165 }
134166}
0 commit comments