BlockComponent.h 589 B

123456789101112131415161718192021
  1. #pragma once
  2. #include <Reader.h>
  3. #include <ReferenceCounter.h>
  4. #include <Writer.h>
  5. #include <XML.h>
  6. class Block;
  7. class BlockComponent : public virtual Framework::ReferenceCounter
  8. {
  9. public:
  10. BlockComponent();
  11. virtual void initialize(Block* zBlock) = 0;
  12. virtual bool tick(int numTicks) = 0;
  13. virtual Framework::XML::Element* getUIML() const = 0;
  14. virtual void loadComponent(Framework::StreamReader* zReader) = 0;
  15. virtual void saveComponent(Framework::StreamWriter* zWriter) const = 0;
  16. virtual bool isLightSource() const;
  17. virtual int getLightColor() const;
  18. };