#include "tradingScreenButton.h" #include "concreteGuiManager.h" #include "activeGameState.h" #include "offerButton.h" #include "gameManager.h" #include "tradeOffer.h" #include "game.h" #include #include #include namespace battleship{ using namespace std; using namespace vb01; using namespace vb01Gui; using namespace gameBase; TradingScreenButton::TradingScreenButton(Vector3 pos, Vector2 size, Listbox *lb, int plId, string gs, string name, int trigger, string imagePath) : ActiveStateButton(pos, size, gs, name, trigger, imagePath), listbox(lb), playerId(plId) {} void TradingScreenButton::onClick(){ if(listbox->getNumLines() > 0){ StateManager *stateManager = GameManager::getSingleton()->getStateManager(); ActiveGameState *activeState = (ActiveGameState*)stateManager->getAppStateByType((int)AppStateType::ACTIVE_STATE); Player *mainPlayer = activeState->getPlayer(); Game *game = Game::getSingleton(); TradeOffer *tradeOffer = game->findTradeOffers(mainPlayer, game->getPlayer(playerId))[listbox->getSelectedOption()]; ActiveStateButton::onClick(); ConcreteGuiManager *guiManager = ConcreteGuiManager::getSingleton(); vector textboxes = guiManager->getTextboxes(); textboxes[0]->setEntry(to_wstring(tradeOffer->recRefineds)); textboxes[1]->setEntry(to_wstring(tradeOffer->initRefineds)); textboxes[2]->setEntry(to_wstring(tradeOffer->recWealth)); textboxes[3]->setEntry(to_wstring(tradeOffer->initWealth)); textboxes[4]->setEntry(to_wstring(tradeOffer->recResearch)); textboxes[5]->setEntry(to_wstring(tradeOffer->initResearch)); } else ActiveStateButton::onClick(); ConcreteGuiManager::getSingleton()->removeButton(this); } }