Files
EntityLibrary/include/Orders/MoveOrder.hpp
2023-08-11 11:04:49 +02:00

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_;
};
}