mirror of
https://github.com/ApfelTeeSaft/PlanetFleet.git
synced 2026-08-26 19:33:38 +00:00
factories and engineers produce and build units by their specific buildable unit tables
This commit is contained in:
+7
-8
@@ -1,5 +1,6 @@
|
||||
#include "trainButton.h"
|
||||
#include "activeGameState.h"
|
||||
#include "buildableUnit.h"
|
||||
#include "factory.h"
|
||||
|
||||
#include <stateManager.h>
|
||||
@@ -10,19 +11,17 @@ namespace battleship{
|
||||
using namespace vb01;
|
||||
using namespace gameBase;
|
||||
|
||||
TrainButton::TrainButton(Vector2 pos, Vector2 size, string name, int trigger, string imagePath, int fid, int tuid) :
|
||||
factoryId(fid),
|
||||
trainableUnitId(tuid),
|
||||
UnitButton(pos, size, name, GameManager::getSingleton()->getPath() + "Fonts/batang.ttf", trigger, imagePath){}
|
||||
TrainButton::TrainButton(Vector2 pos, Vector2 size, string name, int trigger, string imagePath, int uid, int slId) :
|
||||
UnitButton(pos, size, name, GameManager::getSingleton()->getPath() + "Fonts/batang.ttf", trigger, imagePath, uid),
|
||||
slotId(slId) {}
|
||||
|
||||
void TrainButton::onClick(){
|
||||
ActiveGameState *activeState = (ActiveGameState*)(GameManager::getSingleton()->getStateManager()->getAppStateByType((int)AppStateType::ACTIVE_STATE));
|
||||
Player *player = activeState->getPlayer();
|
||||
UnitClass facClass = (UnitClass)generateView()["units"][factoryId + 1]["unitClass"];
|
||||
vector<Unit*> selUnits = player->getSelectedUnits(), factories = player->getUnitsByClass(facClass);
|
||||
vector<Unit*> selUnits = player->getSelectedUnits(), factories = player->getUnitsById(unitId);
|
||||
|
||||
for(Unit *fac : factories)
|
||||
if(find(selUnits.begin(), selUnits.end(), fac) != selUnits.end())
|
||||
((Factory*)fac)->appendToQueue(trainableUnitId);
|
||||
if(fac->getBuildableUnit(slotId).buildable && find(selUnits.begin(), selUnits.end(), fac) != selUnits.end())
|
||||
((Factory*)fac)->appendToQueue(slotId);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user