Files
EntityLibrary/include/Orders/Order.hpp

44 lines
900 B
C++

#pragma once
#include <WHISPER/Messages/Message.hpp>
#include <SimCore/Identifier.hpp>
namespace Orders
{
enum OrderType: uint8_t
{
HOLD_ORDER,
MOVE_ORDER,
ENGAGE_ORDER,
SYSTEM_STATE_ORDER
};
class Order
{
public:
Order(const SimCore::Identifier OwnID,const WHISPER::SourceType srcType, const Orders::OrderType OrderType_);
const SimCore::Identifier getOrderID();
const SimCore::Identifier getOwnID();
const WHISPER::SourceType srcType;
const Orders::OrderType getOrderType();
protected:
virtual WHISPER::Message buildMessage() = 0;
private:
const SimCore::Identifier orderID_;
const SimCore::Identifier OwnID_;
const Orders::OrderType OrderType_;
};
}