placeable unit order buttons

working unit ability buttons
This commit is contained in:
devZoGok
2025-03-31 19:47:05 +03:00
parent 2741423774
commit 9eea473bef
13 changed files with 221 additions and 47 deletions
+43
View File
@@ -0,0 +1,43 @@
#include "orderButton.h"
#include "gameManager.h"
#include "activeGameState.h"
#include "player.h"
#include "unit.h"
#include <stateManager.h>
namespace battleship{
using namespace std;
using namespace vb01;
using namespace vb01Gui;
using namespace gameBase;
OrderButton::OrderButton(Vector3 pos, Vector2 size, string name, int trigger, string imagePath, int oid) :
Button(pos, size, name, GameManager::getSingleton()->getPath() + "Fonts/batang.ttf", trigger, true, imagePath),
orderId(oid)
{}
void OrderButton::onClick(){
Player *player = ((ActiveGameState*)GameManager::getSingleton()->getStateManager()->getAppStateByType(AppStateType::ACTIVE_STATE))->getPlayer();
vector<Unit*> units = player->getSelectedUnits();
if(orderId > -1){
switch(Order::TYPE(orderId)){
case Order::TYPE::EJECT:
{
for(Unit *unit : units)
unit->receiveOrder(Order(Order::TYPE::EJECT, vector<Order::Target>{}), false);
break;
}
default:
{
break;
}
}
}
else
for(Unit *unit : units)
unit->halt();
}
}