#pragma once #include #include 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_; }; }