45 lines
981 B
C++
45 lines
981 B
C++
#pragma once
|
|
|
|
#include "SimCore/data.hpp"
|
|
#include <Orders/Order.hpp>
|
|
#include <SimCore/Position.hpp>
|
|
#include <iterator>
|
|
#include <memory>
|
|
|
|
namespace Orders
|
|
{
|
|
class MoveOrder: public Order
|
|
{
|
|
public:
|
|
MoveOrder(const SimCore::Identifier OwnID);
|
|
|
|
MoveOrder(const SimCore::Identifier OwnID,SimCore::Position pos,double speed = 0,double course = 0, int startTime = 0);
|
|
|
|
~MoveOrder();
|
|
|
|
|
|
void setPosition(SimCore::Position pos);
|
|
|
|
|
|
SimCore::Position getPosition();
|
|
|
|
virtual WHISPER::Message buildMessage() override;
|
|
|
|
|
|
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_;
|
|
|
|
|
|
|
|
};
|
|
|
|
} |