NetworkMessage.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #pragma once
  2. #include <ReferenceCounter.h>
  3. #include <Vec3.h>
  4. #include <Writer.h>
  5. class Chunk;
  6. class Block;
  7. class Entity;
  8. class Dimension;
  9. class ChatMessage;
  10. class NetworkMessage : public virtual Framework::ReferenceCounter
  11. {
  12. private:
  13. char* address;
  14. char addressLength;
  15. bool broadcast;
  16. char* message;
  17. int msgLength;
  18. bool useBackground;
  19. public:
  20. NetworkMessage();
  21. virtual ~NetworkMessage();
  22. void addressChunck(const Chunk* zChunk);
  23. void addressEntity(const Entity* zEntity);
  24. void addressBlock(const Block* zBlock);
  25. void addressDimension(const Dimension* zDim);
  26. void openDialog(Framework::Text dialogName);
  27. void addressGui(Framework::Text elementId);
  28. void setMessage(char* msg, int length);
  29. void sendChatMessage(ChatMessage* zMsg);
  30. void setUseBackground();
  31. void sendToAll();
  32. void writeTo(Framework::StreamWriter* zWriter) const;
  33. bool isBroadcast() const;
  34. bool isEmpty() const;
  35. bool isUseBackground() const;
  36. NetworkMessage* clone() const;
  37. };