ADD: added orders and implemented order and moveorder and test for moveorder

This commit is contained in:
Henry Winkel
2023-02-17 16:00:41 +01:00
parent 00e28e66bd
commit 9fe27e254d
29 changed files with 5075 additions and 18 deletions

View File

@@ -0,0 +1,43 @@
#pragma once
#include <Orders/Order.hpp>
#include <SimCore/Position.hpp>
#include <memory>
namespace Orders
{
class MoveOrder: public Order
{
public:
MoveOrder(const SimCore::Identifier id,const SimCore::Identifier orderingEntity,const SimCore::Identifier orderedEntity,WHISPER::SourceType srcType);
MoveOrder(const SimCore::Identifier id,const SimCore::Identifier orderingEntity,const SimCore::Identifier orderedEntity,WHISPER::SourceType srcType,SimCore::Position pos,double speed = 0, int startTime = 0);
~MoveOrder();
void addData(SimCore::Position pos,double speed = 0, int startTime = 0);
void setPosition(SimCore::Position pos);
void setSpeed(double speed);
void setStartTime(uint64_t startTime);
SimCore::Position getPosition();
double getSpeed();
uint64_t getStartTime();
virtual WHISPER::Message buildMessage(SimCore::Identifier parentID) override;
static std::shared_ptr<MoveOrder> unpack(WHISPER::Message msg);
private:
SimCore::Position pos_;
double speed_ = 0;
uint64_t startTime_ = 0;
};
}