Added the Unit::State constructor argument

This commit is contained in:
devZoGok
2024-02-17 11:21:01 +02:00
parent 56ba61e056
commit 8def62a53c
19 changed files with 26 additions and 26 deletions
+1 -1
View File
@@ -9,7 +9,7 @@ namespace battleship{
using namespace vb01;
using namespace gameBase;
Engineer::Engineer(Player *player, int id, Vector3 pos, Quaternion rot) : Vehicle(player, id, pos, rot){}
Engineer::Engineer(Player *player, int id, Vector3 pos, Quaternion rot, Unit::State state) : Vehicle(player, id, pos, rot, state){}
void Engineer::build(Order order){
if(pathPoints.empty()){
+1 -1
View File
@@ -10,7 +10,7 @@ namespace battleship{
class Engineer : public Vehicle{
public:
Engineer(Player*, int, vb01::Vector3, vb01::Quaternion);
Engineer(Player*, int, vb01::Vector3, vb01::Quaternion, Unit::State);
void build(Order);
private:
vb01::s64 lastIncrementTime = 0;
+1 -1
View File
@@ -11,7 +11,7 @@ namespace battleship{
using namespace vb01;
using namespace gameBase;
Extractor::Extractor(Player *player, int id, Vector3 pos, Quaternion rot, int buildStatus, ResourceDeposit *rd) : Structure(player, id, pos, rot, buildStatus){
Extractor::Extractor(Player *player, int id, Vector3 pos, Quaternion rot, int buildStatus, ResourceDeposit *rd, Unit::State state) : Structure(player, id, pos, rot, buildStatus, state){
if(!rd){
vector<ResourceDeposit*> deposits;
+1 -1
View File
@@ -10,7 +10,7 @@ namespace battleship{
class Extractor : public Structure{
public:
Extractor(Player*, int, vb01::Vector3, vb01::Quaternion, int, ResourceDeposit *rd = nullptr);
Extractor(Player*, int, vb01::Vector3, vb01::Quaternion, int, ResourceDeposit *rd = nullptr, Unit::State = Unit::State::STAND_GROUND);
~Extractor();
void update();
void draw();
+1 -1
View File
@@ -13,7 +13,7 @@ namespace battleship{
using namespace std;
using namespace gameBase;
Factory::Factory(Player *player, int id, Vector3 pos, Quaternion rot, int buildStatus) : Structure(player, id, pos, rot, buildStatus){}
Factory::Factory(Player *player, int id, Vector3 pos, Quaternion rot, int buildStatus, Unit::State state) : Structure(player, id, pos, rot, buildStatus, state){}
void Factory::update(){
Structure::update();
+1 -1
View File
@@ -15,7 +15,7 @@ namespace battleship{
class Factory : public Structure{
public:
Factory(Player*, int, vb01::Vector3, vb01::Quaternion, int = 0);
Factory(Player*, int, vb01::Vector3, vb01::Quaternion, int = 0, Unit::State = Unit::State::STAND_GROUND);
~Factory(){}
void update();
int getNumQueueUnitsById(int);
+2
View File
@@ -19,6 +19,8 @@ namespace battleship{
using namespace gameBase;
using namespace configData;
GameObject::GameObject(Type t, int i, Player *pl, vb01::Vector3 vec, vb01::Quaternion quat) : type(t), id(i), player(pl), pos(vec), rot(quat){}
void GameObject::reinit(){
placeAt(pos);
orientAt(rot);
+1 -1
View File
@@ -18,7 +18,7 @@ namespace battleship{
public:
enum class Type{UNIT, PROJECTILE, RESOURCE_DEPOSIT};
GameObject(Type t, int i, Player *pl, vb01::Vector3 vec, vb01::Quaternion quat) : type(t), id(i), player(pl), pos(vec), rot(quat){}
GameObject(Type, int, Player*, vb01::Vector3, vb01::Quaternion);
~GameObject(){}
virtual void reinit();
virtual void update();
+6 -6
View File
@@ -27,21 +27,21 @@ namespace battleship{
case UnitClass::FORT:
case UnitClass::LAND_FACTORY:
case UnitClass::NAVAL_FACTORY:
return new Factory(player, id, pos, rot, buildStatus);
return new Factory(player, id, pos, rot, buildStatus, Unit::State::STAND_GROUND);
case UnitClass::POINT_DEFENSE:
return new PointDefense(player, id, pos, rot, buildStatus);
return new PointDefense(player, id, pos, rot, buildStatus, Unit::State::STAND_GROUND);
case UnitClass::EXTRACTOR:
return new Extractor(player, id, pos, rot, buildStatus);
case UnitClass::MARKET:
case UnitClass::LAB:
case UnitClass::REFINERY:
return new Structure(player, id, pos, rot, buildStatus);
return new Structure(player, id, pos, rot, buildStatus, Unit::State::STAND_GROUND);
case UnitClass::ENGINEER:
return new Engineer(player, id, pos, rot);
return new Engineer(player, id, pos, rot, Unit::State::STAND_GROUND);
case UnitClass::RESOURCE_ROVER:
return new ResourceRover(player, id, pos, rot);
return new ResourceRover(player, id, pos, rot, Unit::State::STAND_GROUND);
default:
return new Vehicle(player, id, pos, rot);
return new Vehicle(player, id, pos, rot, Unit::State::STAND_GROUND);
}
}
+1 -1
View File
@@ -3,7 +3,7 @@
namespace battleship{
using namespace vb01;
PointDefense::PointDefense(Player *player, int id, Vector3 pos, Quaternion rot, int buildStatus) : Structure(player, id, pos, rot, buildStatus){
PointDefense::PointDefense(Player *player, int id, Vector3 pos, Quaternion rot, int buildStatus, Unit::State state) : Structure(player, id, pos, rot, buildStatus, state){
turretDir = dirVec;
}
+1 -1
View File
@@ -6,7 +6,7 @@
namespace battleship{
class PointDefense : public Structure{
public:
PointDefense(Player*, int, vb01::Vector3, vb01::Quaternion, int);
PointDefense(Player*, int, vb01::Vector3, vb01::Quaternion, int, Unit::State);
private:
vb01::Vector3 turretDir;
+1 -1
View File
@@ -13,7 +13,7 @@ namespace battleship{
using namespace vb01;
using namespace gameBase;
ResourceRover::ResourceRover(Player *player, int id, Vector3 pos, Quaternion rot) : Vehicle(player, id, pos, rot) {
ResourceRover::ResourceRover(Player *player, int id, Vector3 pos, Quaternion rot, Unit::State state) : Vehicle(player, id, pos, rot, state) {
sol::table unitTable = generateView()["units"][id + 1];
capacity = unitTable["capacity"];
loadSpeed = unitTable["loadSpeed"];
+1 -1
View File
@@ -11,7 +11,7 @@ namespace battleship{
class ResourceRover : public Vehicle{
public:
ResourceRover(Player*, int, vb01::Vector3, vb01::Quaternion);
ResourceRover(Player*, int, vb01::Vector3, vb01::Quaternion, Unit::State = Unit::State::STAND_GROUND);
~ResourceRover();
void update();
private:
+1 -1
View File
@@ -10,7 +10,7 @@ using namespace vb01;
using namespace std;
namespace battleship{
Structure::Structure(Player *player, int id, Vector3 pos, Quaternion rot, int bldSt) : buildStatus(bldSt), Unit(player, id, pos, rot){
Structure::Structure(Player *player, int id, Vector3 pos, Quaternion rot, int bldSt, Unit::State state) : Unit(player, id, pos, rot, state), buildStatus(bldSt){
Vector2 size = Vector2(lenHpBar, 10);
buildStatusBackground = Unit::createBar(Vector2::VEC_ZERO, size, Vector4(0, 0, 0, 1));
buildStatusForeground = Unit::createBar(Vector2::VEC_ZERO, size, Vector4(0, 0, 1, 1));
+1 -1
View File
@@ -10,7 +10,7 @@ namespace vb01{
namespace battleship{
class Structure : public Unit{
public:
Structure(Player*, int, vb01::Vector3, vb01::Quaternion, int = 0);
Structure(Player*, int, vb01::Vector3, vb01::Quaternion, int = 0, Unit::State = Unit::State::STAND_GROUND);
~Structure();
virtual void update();
inline int getBuildStatus(){return buildStatus;}
+1 -3
View File
@@ -95,9 +95,7 @@ namespace battleship{
lastFireTime = getTime();
}
Unit::Unit(Player *player, int id, Vector3 pos, Quaternion rot) : GameObject(GameObject::Type::UNIT, id, player, pos, rot){
this->id = id;
this->player = player;
Unit::Unit(Player *player, int id, Vector3 pos, Quaternion rot, State st) : GameObject(GameObject::Type::UNIT, id, player, pos, rot), state(st){
selectable = true;
initProperties();
+2 -2
View File
@@ -119,7 +119,7 @@ namespace battleship{
enum class Armor {CAST, COMBINED, MECHANIC, SHELL, STEEL};
enum class State {CHASE, STAND_GROUND, HOLD_FIRE};
Unit(Player*, int, vb01::Vector3, vb01::Quaternion);
Unit(Player*, int, vb01::Vector3, vb01::Quaternion, State = State::STAND_GROUND);
virtual ~Unit();
virtual void update();
virtual void halt();
@@ -165,7 +165,7 @@ namespace battleship{
UnitClass unitClass;
UnitType type;
std::vector<Order> orders;
int health, maxHealth, id, playerId, lenHpBar = 200;
int health, maxHealth, playerId, lenHpBar = 200;
s64 orderLineDispTime = 0, lastFireTime = 0;
float lineOfSight;
std::vector<GarrisonSlot> garrisonSlots;
+1 -1
View File
@@ -17,7 +17,7 @@ using namespace vb01;
using namespace std;
namespace battleship{
Vehicle::Vehicle(Player *player, int id, Vector3 pos, Quaternion rot) : Unit(player, id, pos, rot){
Vehicle::Vehicle(Player *player, int id, Vector3 pos, Quaternion rot, Unit::State state) : Unit(player, id, pos, rot, state){
initProperties();
debugMat = new Material(Root::getSingleton()->getLibPath() + "texture");
+1 -1
View File
@@ -10,7 +10,7 @@ namespace vb01{
namespace battleship{
class Vehicle : public Unit{
public:
Vehicle(Player*, int, vb01::Vector3, vb01::Quaternion);
Vehicle(Player*, int, vb01::Vector3, vb01::Quaternion, Unit::State);
~Vehicle();
virtual void update();
void move(Order);