12345678910111213141516171819202122232425262728293031323334353637 |
- #include "BlockType.h"
- #include "Block.h"
- using namespace Framework;
- BlockType::BlockType( int id )
- : ReferenceCounter(),
- id( id )
- {
- StaticRegistry<BlockType>::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<ItemType>::INSTANCE.zElement( effectiveToolId );
- }
- Block *BlockType::loadBlock( Framework::Vec3<int> position, Game *zTarget, Framework::StreamReader *zReader )
- {
- Block *result = createBlock( position, zTarget );
- loadSuperBlock( result, zReader );
- return result;
- }
- int BlockType::getId() const
- {
- return id;
- }
|