BlockType.h 557 B

12345678910111213141516171819202122232425
  1. #pragma once
  2. #include <Writer.h>
  3. #include "StaticRegistry.h"
  4. class Game;
  5. class Block;
  6. class BlockType : public virtual Framework::ReferenceCounter
  7. {
  8. private:
  9. const int id;
  10. protected:
  11. BlockType( int id );
  12. virtual void loadSuperBlock( Block *zBlock, Framework::StreamReader *zReader );
  13. virtual Block *createBlock( Framework::Vec3<int> position, Game *zTarget ) = 0;
  14. public:
  15. virtual Block *loadBlock( Framework::Vec3<int> position, Game *zTarget, Framework::StreamReader *zReader );
  16. int getId() const;
  17. };