forked from teamnwah/openmw-tes3coop
add/remove gold from the player at the end of the transaction.
This commit is contained in:
parent
c004f5d570
commit
c30b9e4bb9
1 changed files with 26 additions and 0 deletions
|
@ -5,6 +5,7 @@
|
||||||
#include "../mwbase/environment.hpp"
|
#include "../mwbase/environment.hpp"
|
||||||
#include "../mwworld/world.hpp"
|
#include "../mwworld/world.hpp"
|
||||||
#include "../mwworld/inventorystore.hpp"
|
#include "../mwworld/inventorystore.hpp"
|
||||||
|
#include "../mwworld/manualref.hpp"
|
||||||
|
|
||||||
#include "window_manager.hpp"
|
#include "window_manager.hpp"
|
||||||
#include "inventorywindow.hpp"
|
#include "inventorywindow.hpp"
|
||||||
|
@ -206,6 +207,31 @@ namespace MWGui
|
||||||
transferBoughtItems();
|
transferBoughtItems();
|
||||||
mWindowManager.getInventoryWindow()->transferBoughtItems();
|
mWindowManager.getInventoryWindow()->transferBoughtItems();
|
||||||
|
|
||||||
|
// add or remove gold from the player.
|
||||||
|
bool goldFound = false;
|
||||||
|
MWWorld::Ptr gold;
|
||||||
|
MWWorld::ContainerStore& playerStore = mWindowManager.getInventoryWindow()->getContainerStore();
|
||||||
|
for (MWWorld::ContainerStoreIterator it = playerStore.begin();
|
||||||
|
it != playerStore.end(); ++it)
|
||||||
|
{
|
||||||
|
if (MWWorld::Class::get(*it).getName(*it) == MWBase::Environment::get().getWorld()->getStore().gameSettings.search("sGold")->str)
|
||||||
|
{
|
||||||
|
goldFound = true;
|
||||||
|
gold = *it;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (goldFound)
|
||||||
|
{
|
||||||
|
gold.getRefData().setCount(gold.getRefData().getCount() + mCurrentBalance);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
assert(mCurrentBalance > 0);
|
||||||
|
MWWorld::ManualRef ref(MWBase::Environment::get().getWorld()->getStore(), "Gold_001");
|
||||||
|
ref.getPtr().getRefData().setCount(mCurrentBalance);
|
||||||
|
playerStore.add(ref.getPtr());
|
||||||
|
}
|
||||||
|
|
||||||
mWindowManager.setGuiMode(GM_Game);
|
mWindowManager.setGuiMode(GM_Game);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue