#include "BlockType.h" #include "Block.h" using namespace Framework; BlockType::BlockType( int id ) : ReferenceCounter(), id( id ) { StaticRegistry::INSTANCE.registerT( this, id ); } void BlockType::loadSuperBlock( Block *zBlock, Framework::StreamReader *zReader ) { zBlock->loadInventory( zReader ); zReader->lese( (char *)&zBlock->transparent, 1 ); zReader->lese( (char *)&zBlock->passable, 1 ); zReader->lese( (char *)&zBlock->hp, 4 ); zReader->lese( (char *)&zBlock->maxHP, 4 ); zReader->lese( (char *)&zBlock->hardness, 4 ); zReader->lese( (char *)&zBlock->speedModifier, 4 ); int effectiveToolId; zReader->lese( (char *)&effectiveToolId, 4 ); zBlock->zTool = StaticRegistry::INSTANCE.zElement( effectiveToolId ); } Block *BlockType::loadBlock( Framework::Vec3 position, Framework::StreamReader *zReader ) { Block *result = createBlock( position ); loadSuperBlock( result, zReader ); return result; } int BlockType::getId() const { return id; }