mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-10-31 20:26:43 +00:00 
			
		
		
		
	fireEquipmentChangedEvent() updates the InventoryWindow. (Fixes #2424)
This commit is contained in:
		
							parent
							
								
									fe69dc2863
								
							
						
					
					
						commit
						0a5de33a1a
					
				
					 2 changed files with 15 additions and 6 deletions
				
			
		|  | @ -10,6 +10,9 @@ | |||
| #include "../mwbase/environment.hpp" | ||||
| #include "../mwbase/world.hpp" | ||||
| #include "../mwbase/mechanicsmanager.hpp" | ||||
| #include "../mwbase/windowmanager.hpp" | ||||
| 
 | ||||
| #include "../mwgui/inventorywindow.hpp" | ||||
| 
 | ||||
| #include "../mwmechanics/npcstats.hpp" | ||||
| #include "../mwmechanics/spellcasting.hpp" | ||||
|  | @ -175,7 +178,7 @@ void MWWorld::InventoryStore::equip (int slot, const ContainerStoreIterator& ite | |||
| 
 | ||||
|     flagAsModified(); | ||||
| 
 | ||||
|     fireEquipmentChangedEvent(); | ||||
|     fireEquipmentChangedEvent(actor); | ||||
| 
 | ||||
|     updateMagicEffects(actor); | ||||
| } | ||||
|  | @ -188,7 +191,7 @@ void MWWorld::InventoryStore::unequipAll(const MWWorld::Ptr& actor) | |||
| 
 | ||||
|     mUpdatesEnabled = true; | ||||
| 
 | ||||
|     fireEquipmentChangedEvent(); | ||||
|     fireEquipmentChangedEvent(actor); | ||||
|     updateMagicEffects(actor); | ||||
| } | ||||
| 
 | ||||
|  | @ -318,7 +321,7 @@ void MWWorld::InventoryStore::autoEquip (const MWWorld::Ptr& actor) | |||
|     if (changed) | ||||
|     { | ||||
|         mSlots.swap (slots_); | ||||
|         fireEquipmentChangedEvent(); | ||||
|         fireEquipmentChangedEvent(actor); | ||||
|         updateMagicEffects(actor); | ||||
|         flagAsModified(); | ||||
|     } | ||||
|  | @ -549,7 +552,7 @@ MWWorld::ContainerStoreIterator MWWorld::InventoryStore::unequipSlot(int slot, c | |||
|             } | ||||
|         } | ||||
| 
 | ||||
|         fireEquipmentChangedEvent(); | ||||
|         fireEquipmentChangedEvent(actor); | ||||
|         updateMagicEffects(actor); | ||||
| 
 | ||||
|         return retval; | ||||
|  | @ -576,12 +579,18 @@ void MWWorld::InventoryStore::setListener(InventoryStoreListener *listener, cons | |||
|     updateMagicEffects(actor); | ||||
| } | ||||
| 
 | ||||
| void MWWorld::InventoryStore::fireEquipmentChangedEvent() | ||||
| void MWWorld::InventoryStore::fireEquipmentChangedEvent(const Ptr& actor) | ||||
| { | ||||
|     if (!mUpdatesEnabled) | ||||
|         return; | ||||
|     if (mListener) | ||||
|         mListener->equipmentChanged(); | ||||
| 
 | ||||
|     // if player, update inventory window
 | ||||
|     if (actor == MWBase::Environment::get().getWorld()->getPlayerPtr()) | ||||
|     { | ||||
|         MWBase::Environment::get().getWindowManager()->getInventoryWindow()->updateItemView(); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| void MWWorld::InventoryStore::visitEffectSources(MWMechanics::EffectSourceVisitor &visitor) | ||||
|  |  | |||
|  | @ -111,7 +111,7 @@ namespace MWWorld | |||
|             void updateMagicEffects(const Ptr& actor); | ||||
|             void updateRechargingItems(); | ||||
| 
 | ||||
|             void fireEquipmentChangedEvent(); | ||||
|             void fireEquipmentChangedEvent(const Ptr& actor); | ||||
| 
 | ||||
|             virtual void storeEquipmentState (const MWWorld::LiveCellRefBase& ref, int index, ESM::InventoryState& inventory) const; | ||||
|             virtual void readEquipmentState (const MWWorld::ContainerStoreIterator& iter, int index, const ESM::InventoryState& inventory); | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue