implemented instant trading

This commit is contained in:
devZoGok
2024-03-10 15:41:56 +02:00
parent 8a885391f9
commit e2d6a1ae69
27 changed files with 297 additions and 50 deletions
+42
View File
@@ -0,0 +1,42 @@
#include "tradeButton.h"
#include "activeGameState.h"
#include "player.h"
#include <stateManager.h>
namespace battleship{
using namespace std;
using namespace vb01;
using namespace gameBase;
TradeButton::TradeButton(Vector2 pos, Vector2 size, string name, int trigger, string imagePath, int uid, Type t) : UnitButton(pos, size, name, GameManager::getSingleton()->getPath() + "Fonts/batang.ttf", trigger, imagePath, uid), type(t){}
void TradeButton::onClick(){
ActiveGameState *activeState = (ActiveGameState*)(GameManager::getSingleton()->getStateManager()->getAppStateByType((int)AppStateType::ACTIVE_STATE));
Player *player = activeState->getPlayer();
int resType, ammount = 10;
bool buy;
switch(type){
case Type::BUY_REFINEDS:
resType = (int)ResourceType::REFINEDS;
buy = true;
break;
case Type::SELL_REFINEDS:
resType = (int)ResourceType::REFINEDS;
buy = false;
break;
case Type::BUY_RESEARCH:
resType = (int)ResourceType::RESEARCH;
buy = true;
break;
case Type::SELL_RESEARCH:
resType = (int)ResourceType::RESEARCH;
buy = false;
break;
}
player->getTrader()->trade(player, resType, ammount, buy);
}
}