mirror of
https://github.com/devZoGok/PlanetFleet.git
synced 2026-08-26 19:43:29 +00:00
Added the Unit::State constructor argument
This commit is contained in:
+1
-1
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
@@ -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();
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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;}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user