Merge pull request #459 from Pax1601/small-issues

Modified isTanker and isAWACS to isActiveTanker and isActiveAWACS
This commit is contained in:
Pax1601
2023-10-13 16:35:52 +02:00
committed by GitHub
12 changed files with 93 additions and 99 deletions

View File

@@ -20,8 +20,8 @@ namespace DataIndex {
position,
speed,
heading,
isTanker,
isAWACS,
isActiveTanker,
isActiveAWACS,
onOff,
followRoads,
fuel,

View File

@@ -77,8 +77,8 @@ public:
virtual void setPosition(Coords newValue) { updateValue(position, newValue, DataIndex::position); }
virtual void setSpeed(double newValue) { updateValue(speed, newValue, DataIndex::speed); }
virtual void setHeading(double newValue) { updateValue(heading, newValue, DataIndex::heading); }
virtual void setIsTanker(bool newValue);
virtual void setIsAWACS(bool newValue);
virtual void setIsActiveTanker(bool newValue);
virtual void setIsActiveAWACS(bool newValue);
virtual void setOnOff(bool newValue, bool force = false) { updateValue(onOff, newValue, DataIndex::onOff); };
virtual void setFollowRoads(bool newValue, bool force = false) { updateValue(followRoads, newValue, DataIndex::followRoads); };
virtual void setFuel(unsigned short newValue) { updateValue(fuel, newValue, DataIndex::fuel); }
@@ -118,8 +118,8 @@ public:
virtual Coords getPosition() { return position; }
virtual double getSpeed() { return speed; }
virtual double getHeading() { return heading; }
virtual bool getIsTanker() { return isTanker; }
virtual bool getIsAWACS() { return isAWACS; }
virtual bool getIsActiveTanker() { return isActiveTanker; }
virtual bool getIsActiveAWACS() { return isActiveAWACS; }
virtual bool getOnOff() { return onOff; };
virtual bool getFollowRoads() { return followRoads; };
virtual unsigned short getFuel() { return fuel; }
@@ -161,8 +161,8 @@ protected:
Coords position = Coords(NULL);
double speed = NULL;
double heading = NULL;
bool isTanker = false;
bool isAWACS = false;
bool isActiveTanker = false;
bool isActiveAWACS = false;
bool onOff = true;
bool followRoads = false;
unsigned short fuel = 0;

View File

@@ -149,9 +149,9 @@ void AirUnit::AIloop()
/* State machine */
switch (state) {
case State::IDLE: {
if (isTanker)
if (isActiveTanker)
setTask("Tanker racetrack");
else if (isAWACS)
else if (isActiveAWACS)
setTask("AWACS racetrack");
else
setTask("Idle");
@@ -159,12 +159,12 @@ void AirUnit::AIloop()
if (!getHasTask())
{
std::ostringstream taskSS;
if (isTanker) {
if (isActiveTanker) {
taskSS << "{ [1] = { id = 'Tanker' }, [2] = { id = 'Orbit', pattern = 'Race-Track', altitude = " <<
desiredAltitude << ", speed = " << desiredSpeed << ", altitudeType = '" <<
(desiredAltitudeType ? "AGL" : "ASL") << "', speedType = '" << (desiredSpeedType ? "GS" : "CAS") << "' }}";
}
else if (isAWACS) {
else if (isActiveAWACS) {
taskSS << "{ [1] = { id = 'AWACS' }, [2] = { id = 'Orbit', pattern = 'Circle', altitude = " <<
desiredAltitude << ", speed = " << desiredSpeed << ", altitudeType = '" <<
(desiredAltitudeType ? "AGL" : "ASL") << "', speedType = '" << (desiredSpeedType ? "GS" : "CAS") << "' }}";
@@ -184,12 +184,12 @@ void AirUnit::AIloop()
string enrouteTask = "";
bool looping = false;
if (isTanker)
if (isActiveTanker)
{
enrouteTask = "{ id = 'Tanker' }";
setTask("Tanker");
}
else if (isAWACS)
else if (isActiveAWACS)
{
enrouteTask = "{ id = 'AWACS' }";
setTask("AWACS");

View File

@@ -458,8 +458,8 @@ void Scheduler::handleRequest(string key, json::value value, string username, js
if (unit != nullptr)
{
/* Advanced tasking */
unit->setIsTanker(value[L"isTanker"].as_bool());
unit->setIsAWACS(value[L"isAWACS"].as_bool());
unit->setIsActiveTanker(value[L"isActiveTanker"].as_bool());
unit->setIsActiveAWACS(value[L"isActiveAWACS"].as_bool());
/* TACAN Options */
DataTypes::TACAN TACAN;

View File

@@ -172,8 +172,8 @@ void Unit::refreshLeaderData(unsigned long long time) {
case DataIndex::state: updateValue(state, leader->state, datumIndex); break;
case DataIndex::task: updateValue(task, leader->task, datumIndex); break;
case DataIndex::hasTask: updateValue(hasTask, leader->hasTask, datumIndex); break;
case DataIndex::isTanker: updateValue(isTanker, leader->isTanker, datumIndex); break;
case DataIndex::isAWACS: updateValue(isAWACS, leader->isAWACS, datumIndex); break;
case DataIndex::isActiveTanker: updateValue(isActiveTanker, leader->isActiveTanker, datumIndex); break;
case DataIndex::isActiveAWACS: updateValue(isActiveAWACS, leader->isActiveAWACS, datumIndex); break;
case DataIndex::onOff: updateValue(onOff, leader->onOff, datumIndex); break;
case DataIndex::followRoads: updateValue(followRoads, leader->followRoads, datumIndex); break;
case DataIndex::desiredSpeed: updateValue(desiredSpeed, leader->desiredSpeed, datumIndex); break;
@@ -248,8 +248,8 @@ void Unit::getData(stringstream& ss, unsigned long long time)
case DataIndex::position: appendNumeric(ss, datumIndex, position); break;
case DataIndex::speed: appendNumeric(ss, datumIndex, speed); break;
case DataIndex::heading: appendNumeric(ss, datumIndex, heading); break;
case DataIndex::isTanker: appendNumeric(ss, datumIndex, isTanker); break;
case DataIndex::isAWACS: appendNumeric(ss, datumIndex, isAWACS); break;
case DataIndex::isActiveTanker: appendNumeric(ss, datumIndex, isActiveTanker); break;
case DataIndex::isActiveAWACS: appendNumeric(ss, datumIndex, isActiveAWACS); break;
case DataIndex::onOff: appendNumeric(ss, datumIndex, onOff); break;
case DataIndex::followRoads: appendNumeric(ss, datumIndex, followRoads); break;
case DataIndex::fuel: appendNumeric(ss, datumIndex, fuel); break;
@@ -495,23 +495,23 @@ void Unit::landAt(Coords loc)
setState(State::LAND);
}
void Unit::setIsTanker(bool newIsTanker)
void Unit::setIsActiveTanker(bool newIsActiveTanker)
{
if (isTanker != newIsTanker) {
isTanker = newIsTanker;
if (isActiveTanker != newIsActiveTanker) {
isActiveTanker = newIsActiveTanker;
resetTask();
triggerUpdate(DataIndex::isTanker);
triggerUpdate(DataIndex::isActiveTanker);
}
}
void Unit::setIsAWACS(bool newIsAWACS)
void Unit::setIsActiveAWACS(bool newIsActiveAWACS)
{
if (isAWACS != newIsAWACS) {
isAWACS = newIsAWACS;
if (isActiveAWACS != newIsActiveAWACS) {
isActiveAWACS = newIsActiveAWACS;
resetTask();
triggerUpdate(DataIndex::isAWACS);
triggerUpdate(DataIndex::isActiveAWACS);
}
}