#include "BasicBlocks.h" BasicBlock::BasicBlock( BlockType *zType, ItemType *zTool, Framework::Vec3 pos ) : Block( zType, zTool, pos ) {} bool BasicBlock::onTick( TickQueue *zQueue, int numTicks, bool &blocked ) { return 0; } void BasicBlock::onPostTick() {} DirtBlockType::DirtBlockType() : BlockType( ID ) {} void DirtBlockType::loadSuperBlock( Block *zBlock, Framework::Reader *zReader ) { BlockType::loadSuperBlock( zBlock, zReader ); } void DirtBlockType::saveSuperBlock( Block *zBlock, Framework::Writer *zWriter ) { BlockType::saveSuperBlock( zBlock, zWriter ); } void DirtBlockType::createSuperBlock( Block *zBlock, Item *zItem ) { if( zItem ) BlockType::createSuperBlock( zBlock, zItem ); else { BasicBlock *block = dynamic_cast( zBlock ); if( !block ) throw "DirtBlockType::createSuperBlock was called with a block witch is not an instance of BasicBlock"; block->transparent = 0; block->passable = 0; block->hp = 100; block->maxHP = 100; block->hardness = 1; block->zTool = 0; block->speedModifier = 1; } } void DirtBlockType::createSuperItem( Block *zBlock, Item *zItem ) { BlockType::createSuperItem( zBlock, zItem ); } Block *DirtBlockType::createBlock( Framework::Vec3 position, Game *zTarget ) { return new BasicBlock( this, 0, position ); // TODO: add efective tool } Item *DirtBlockType::createItem( Game *zTarget ) { return StaticRegistry::INSTANCE.zElement( DirtBlockItemType::ID )->createItem(); } DirtBlockItemType::DirtBlockItemType() : BasicBlockItemType( ID, 0, 0 ) {} Item *DirtBlockItemType::createItem() const { BasicBlockItem *item = new BasicBlockItem( (ItemType *)this, "Dirt" ); initializeItem( item, 0, 0, 100, 100, 1, 0, 1 ); return item; }