building and vehicle construction consumes refineds

This commit is contained in:
devZoGok
2024-01-26 17:12:49 +02:00
parent 5524622250
commit 2eebc95419
6 changed files with 42 additions and 23 deletions
+7 -11
View File
@@ -4,19 +4,16 @@
#include "activeGameState.h"
#include <stateManager.h>
#include <solUtil.h>
#include <vector>
namespace battleship{
using namespace vb01;
using namespace std;
using namespace gameBase;
Factory::Factory(Player *player, int id, Vector3 pos, Quaternion rot, int buildStatus) : Structure(player, id, pos, rot, buildStatus){
initProperties();
}
void Factory::initProperties(){
}
Factory::Factory(Player *player, int id, Vector3 pos, Quaternion rot, int buildStatus) : Structure(player, id, pos, rot, buildStatus){}
void Factory::update(){
Structure::update();
@@ -25,10 +22,6 @@ namespace battleship{
train();
}
void Factory::appendToQueue(int uc){
unitQueue.push_back(uc);
}
void Factory::train(){
bool training = !unitQueue.empty();
buildStatusForeground->setVisible(training);
@@ -42,9 +35,12 @@ namespace battleship{
bool mainPlayerSelecting = (activeState && find(selectingPlayers.begin(), selectingPlayers.end(), mainPlayer) != selectingPlayers.end());
Unit::displayUnitStats(buildStatusForeground, buildStatusBackground, trainingStatus, 100, mainPlayer == player && mainPlayerSelecting, Vector2(0, -10));
sol::table targTable = generateView()["units"][unitQueue[0]];
int costRate = (int)targTable["cost"] / 100, trainRate = (int)targTable["buildTime"] / 100;
if(canTrain()){
if(player->getRefineds() >= costRate && getTime() - lastTrainTime > trainRate){
trainingStatus++;
player->setRefineds(player->getRefineds() - costRate);
lastTrainTime = getTime();
}