ADD: added new version of Orders and a first use in the entity base class
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
#pragma once
|
||||
|
||||
#include "SimCore/data.hpp"
|
||||
#include <Orders/Order.hpp>
|
||||
#include <SimCore/Position.hpp>
|
||||
#include <iterator>
|
||||
#include <memory>
|
||||
|
||||
namespace Orders
|
||||
@@ -9,33 +11,33 @@ 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 OwnID, 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(const SimCore::Identifier OwnID,WHISPER::SourceType srcType,SimCore::Position pos,double speed = 0,double course = 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;
|
||||
|
||||
virtual WHISPER::Message buildMessage() override;
|
||||
|
||||
|
||||
static std::shared_ptr<MoveOrder> unpack(WHISPER::Message msg);
|
||||
static std::unique_ptr<MoveOrder> unpack(WHISPER::Message msg);
|
||||
static std::unique_ptr<MoveOrder> unpack(std::string msg);
|
||||
|
||||
|
||||
SimCore::Data<double> Course;
|
||||
SimCore::Data<double> Speed;
|
||||
SimCore::Data<uint64_t> StartTime;
|
||||
|
||||
|
||||
private:
|
||||
SimCore::Position pos_;
|
||||
double speed_ = 0;
|
||||
uint64_t startTime_ = 0;
|
||||
SimCore::Position pos_;
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user