BlockComponent.h 722 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include <Reader.h>
  3. #include <ReferenceCounter.h>
  4. #include <Writer.h>
  5. #include <XML.h>
  6. class Block;
  7. class Entity;
  8. class NetworkMessage;
  9. class BlockComponent : public virtual Framework::ReferenceCounter
  10. {
  11. public:
  12. BlockComponent();
  13. virtual void initialize(Block* zBlock) = 0;
  14. virtual bool tick(int numTicks) = 0;
  15. virtual void api(Framework::StreamReader* zRequest,
  16. NetworkMessage* zResponse,
  17. Entity* zSource)
  18. = 0;
  19. virtual Framework::XML::Element* getTooltipUIML() const = 0;
  20. virtual void loadComponent(Framework::StreamReader* zReader) = 0;
  21. virtual void saveComponent(Framework::StreamWriter* zWriter) const = 0;
  22. virtual int getLightColor() const;
  23. };