#pragma once #include #include #include class Chunk; class Block; class Entity; class Dimension; class ChatMessage; class ChatObserver; class NetworkMessage : public virtual Framework::ReferenceCounter { private: char* address; char addressLength; bool broadcast; char* message; int msgLength; bool useBackground; public: NetworkMessage(); virtual ~NetworkMessage(); void addressChunck(const Chunk* zChunk); void addressEntity(const Entity* zEntity); void addressBlock(const Block* zBlock); void addressDimension(const Dimension* zDim); void openDialog(Framework::Text dialogName); void addressGui(Framework::Text elementId); void setMessage(char* msg, int length); void sendChatMessage(ChatMessage* zMsg); void sendChatOptions(ChatObserver* zOptions); void setUseBackground(); void sendToAll(); void writeTo(Framework::StreamWriter* zWriter) const; bool isBroadcast() const; bool isEmpty() const; bool isUseBackground() const; NetworkMessage* clone() const; };