#pragma once #include "SimCore/data.hpp" #include #include #include #include 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 unpack(WHISPER::Message msg); static std::unique_ptr unpack(std::string msg); SimCore::Data Course; SimCore::Data Speed; SimCore::Data StartTime; private: SimCore::Position pos_; }; }