16#include "System/json.h"
26#define MSG_CLONE(MessageClass) auto clone() const -> std::unique_ptr<Message> override \
28 return std::make_unique<MessageClass>(*this); \
45 return std::make_unique<Message>(*
this);
49 virtual auto save(
Stream& stream)
const -> void;
62 return dynamic_cast<const T*
>(
this);
sys::Json Stream
Definition AudioObject.h:20
the type of elements in a basic_json container
Definition GameObject.h:32
virtual auto save(Stream &stream) const -> void
Definition Message.cpp:23
virtual auto clone() const -> std::unique_ptr< Message >
Definition Message.h:43
Message(Message &&other) noexcept=default
virtual ~Message()=default
auto convertMessageTo() const -> const T *
A function that converts messages to the specific type so you don't need to call static_cast yourself...
Definition Message.h:60
virtual auto load(Stream &stream) -> void
Definition Message.cpp:18
Message(const Message &other)=default
auto operator=(const Message &other) -> Message &=default
auto operator=(Message &&other) noexcept -> Message &=default