123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #include "BasicBlocks.h"
- BasicBlock::BasicBlock( BlockType *zType, ItemType *zTool, Framework::Vec3<int> 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::StreamReader *zReader )
- {
- BlockType::loadSuperBlock( zBlock, zReader );
- }
- void DirtBlockType::saveSuperBlock( Block *zBlock, Framework::StreamWriter *zWriter )
- {
- BlockType::saveSuperBlock( zBlock, zWriter );
- }
- void DirtBlockType::createSuperBlock( Block *zBlock, Item *zItem )
- {
- if( zItem )
- BlockType::createSuperBlock( zBlock, zItem );
- else
- {
- BasicBlock *block = dynamic_cast<BasicBlock *>( 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<int> position, Game *zTarget )
- {
- return new BasicBlock( this, 0, position ); // TODO: add efective tool
- }
- Item *DirtBlockType::createItem( Game *zTarget )
- {
- return StaticRegistry<ItemType>::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;
- }
|