123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #pragma once
- #include "BlockType.h"
- #include "Block.h"
- class NoBlockBlockType;
- class NoBlock : public Block
- {
- public:
- static const NoBlock INSTANCE;
- protected:
- NoBlock();
- friend NoBlockBlockType;
- };
- class NoBlockBlockType : public BlockType
- {
- REGISTRABLE( NoBlockBlockType )
- protected:
- NoBlockBlockType();
- NoBlockBlockType( int id );
- virtual Block* createBlock( Framework::Vec3<int> position ) override;
- virtual Block* loadBlock( Framework::Vec3<int> position, Framework::StreamReader* zReader ) override;
- virtual void initializeSuperBlock( Block* zBlock ) override;
- virtual const Block* zDefault() override;
- virtual bool needsInstance() const override;
- };
- REGISTER( NoBlockBlockType, BlockType )
- class AirBlock : public Block
- {
- public:
- static const AirBlock INSTANCE;
- protected:
- AirBlock();
- };
- class AirBlockBlockType : public NoBlockBlockType
- {
- REGISTRABLE( AirBlockBlockType )
- protected:
- AirBlockBlockType();
- virtual const Block* zDefault() override;
- };
- REGISTER( AirBlockBlockType, BlockType )
|