diff --git a/src/Entities/Entity.cpp b/src/Entities/Entity.cpp index f45f198..aa59ba0 100644 --- a/src/Entities/Entity.cpp +++ b/src/Entities/Entity.cpp @@ -39,7 +39,7 @@ namespace Entities EntityKind_(EntityKind) { - PodController_ = std::make_unique("libs/KubeControl/docs/config"); + PodController_ = std::make_unique("docs/config"); OwnShipTrack = std::make_shared(OwnID, OwnType, EntityKind); OwnShipTrack->setPosition(SimCore::Position()); @@ -52,6 +52,7 @@ namespace Entities Entity::~Entity() { + PodController_->stopAllPods(); stop(); } @@ -60,26 +61,37 @@ namespace Entities void Entity::setPosition(SimCore::Position pos) { OwnShipTrack->setPosition(pos); + LOG_S(INFO)<< "POS: LAT: "<< OwnShipTrack->getPosition().getGeodesicPos()(SimCore::LATITUDE) << " LON: " << OwnShipTrack->getPosition().getGeodesicPos()(SimCore::LONGITUDE); + Orders::MoveOrder moveorder(OwnShipTrack->getIdentifier(),WHISPER::SourceType::ENTITY); moveorder.setPosition(pos); - MovemtServer_->sendMessage(moveorder.buildMessage().serialize()); - LOG_S(INFO)<<"Move Order send"; + if(MovementWorkerStarted == true) + { + MovemtServer_->sendMessage(moveorder.buildMessage().serialize()); + LOG_S(INFO)<<"Move Order send"; + } } void Entity::setSpeed(double val) { OwnShipTrack->Speed.setValue(val); Orders::MoveOrder moveorder(OwnShipTrack->getIdentifier(),WHISPER::SourceType::ENTITY); moveorder.Speed.setValue(val); - MovemtServer_->sendMessage(moveorder.buildMessage().serialize()); - LOG_S(INFO)<<"Move Order send"; + if(MovementWorkerStarted == true) + { + MovemtServer_->sendMessage(moveorder.buildMessage().serialize()); + LOG_S(INFO)<<"Move Order send with Speed"; + } } void Entity::setCourse(double val) { OwnShipTrack->Course.setValue(val); Orders::MoveOrder moveorder(OwnShipTrack->getIdentifier(),WHISPER::SourceType::ENTITY); moveorder.Course.setValue(val); - MovemtServer_->sendMessage(moveorder.buildMessage().serialize()); - + if(MovementWorkerStarted == true) + { + MovemtServer_->sendMessage(moveorder.buildMessage().serialize()); + LOG_S(INFO)<<"Move Order send with Course"; + } } void Entity::setPitch( double val) { @@ -123,12 +135,14 @@ namespace Entities void Entity::startMovementWorker() { - auto MovementPod = kubecontrol::KubePod("MovmentPod_"+EntityName_,xg::newGuid().str(),"movementimage:latest"); + auto MovementPod = kubecontrol::KubePod("movmentpod-"+EntityName_,xg::newGuid().str(),"movementimage:latest"); MovementPod.setEnvironmentVar("SERVER_IP", SimCore::UtilFunctions::getOwnIP()); - // LOG_S(INFO)<< MovementPod.createYAML(); + LOG_S(INFO)<< MovementPod.createYAML(); + PodController_->startPod(MovementPod); LOG_S(INFO)<getServerAddress(); - + std::this_thread::sleep_for(std::chrono::milliseconds(5000)); + LOG_S(INFO)<< "TODO: starting the movement app from here"; if (MovemtServer_->countClients() > 0 )