freg  0.3
Free-Roaming Elementary Game
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
Block Class Reference

Block without special physics and attributes. More...

#include <Block.h>

Inheritance diagram for Block:
Inheritance graph
[legend]

Public Member Functions

 Block (int sub, int kind, int transp=UNDEF)
 
 Block (QDataStream &, int sub, int kind, int transp=UNDEF)
 
virtual ~Block ()
 
Blockoperator= (Block &)=delete
 
 Block (Block &)=delete
 
virtual QString FullName () const
 
virtual bool Catchable () const
 
virtual bool Inscribe (QString str)
 Returns true on success. More...
 
virtual void Move (dirs direction)
 
virtual void Damage (int dmg, int dmg_kind)
 
virtual usage_types Use (Block *user)
 
virtual usage_types UseOnShredMove (Block *user)
 
virtual push_reaction PushResult (dirs) const
 
virtual BlockDropAfterDamage (bool *delete_self)
 Should return dropped block. More...
 
virtual InventoryHasInventory ()
 
virtual AnimalIsAnimal ()
 
virtual ActiveActiveBlock ()
 
virtual FallingShouldFall ()
 
virtual wearable Wearable () const
 
virtual int DamageKind () const
 
virtual int DamageLevel () const
 
virtual int LightRadius () const
 
virtual int Weight () const
 
virtual void ReceiveSignal (QString)
 Receive text signal. More...
 
int GetId () const
 Determines kind and sub, unique for every kind-sub pair. More...
 
void Restore ()
 Set maximum durability. More...
 
void Break ()
 Set durability to null. More...
 
void Mend (int plus)
 Increase durability, no more than MAX_DURABILITY. More...
 
void SetDir (int dir)
 
dirs GetDir () const
 
int GetDurability () const
 
QString GetNote () const
 
int Transparent () const
 
int Sub () const
 
int Kind () const
 
bool operator== (const Block &) const
 
bool operator!= (const Block &) const
 
void SaveToFile (QDataStream &out)
 
void SaveNormalToFile (QDataStream &out) const
 
void RestoreDurabilityAfterSave ()
 Importart! Use it if block won't be deleted after SaveToFile. More...
 

Static Public Member Functions

static QString SubName (int sub)
 Returns translated substance name. More...
 
static QString SubNameUpper (int sub)
 Returns translated substance name with first upper letter. More...
 
static sub_groups GetSubGroup (int sub)
 
static dirs MakeDirFromDamage (int damage_kind)
 
static QString DirString (dirs)
 

Protected Member Functions

virtual void SaveAttributes (QDataStream &) const
 

Protected Attributes

quint16 noteId
 To convert DAMAGE_PUSH_UP...WEST to corresponding direction. More...
 

Private Member Functions

int Transparency (int transp, int sub) const
 

Private Attributes

qint16 durability
 
const quint8 transparent
 
const quint8 kind
 
const quint8 sub
 
quint8 direction
 

Detailed Description

Block without special physics and attributes.

Definition at line 89 of file Block.h.

Constructor & Destructor Documentation

Block::Block ( int  sub,
int  kind,
int  transp = UNDEF 
)

Definition at line 330 of file Block.cpp.

Block::Block ( QDataStream &  str,
int  sub,
int  kind,
int  transp = UNDEF 
)

Definition at line 339 of file Block.cpp.

Block::~Block ( )
virtual

Definition at line 358 of file Block.cpp.

Block::Block ( Block )
delete

Member Function Documentation

Active * Block::ActiveBlock ( )
virtual

Reimplemented in Active.

Definition at line 226 of file Block.cpp.

void Block::Break ( )

Set durability to null.

Definition at line 230 of file Block.cpp.

bool Block::Catchable ( ) const
virtual

Reimplemented in Ladder.

Definition at line 206 of file Block.cpp.

void Block::Damage ( int  dmg,
int  dmg_kind 
)
virtual

Reimplemented in Bell, Clock, Door, Converter, Bush, Box, Active, Liquid, Container, Dwarf, RainMachine, Bucket, and Armour.

Definition at line 117 of file Block.cpp.

int Block::DamageKind ( ) const
virtual

Reimplemented in Converter, Grass, Axe, Hammer, Shovel, Liquid, Pick, Dwarf, Weapon, Animal, and Illuminator.

Definition at line 208 of file Block.cpp.

int Block::DamageLevel ( ) const
virtual

Reimplemented in Predator, Liquid, Dwarf, Weapon, and Armour.

Definition at line 209 of file Block.cpp.

QString Block::DirString ( dirs  dir)
static

Definition at line 75 of file Block.cpp.

Block * Block::DropAfterDamage ( bool *  delete_self)
virtual

Should return dropped block.

It can be pile(BOX, DIFFERENT) containing all dropped blocks, or block itself. Set delete_self false if this block itself should not be deleted. (by default block is deleted, beware).

Reimplemented in Bush, Grass, Box, Liquid, Dwarf, Container, Animal, Ladder, and Illuminator.

Definition at line 184 of file Block.cpp.

QString Block::FullName ( ) const
virtual
dirs Block::GetDir ( ) const

Definition at line 231 of file Block.cpp.

int Block::GetDurability ( ) const

Definition at line 232 of file Block.cpp.

int Block::GetId ( ) const

Determines kind and sub, unique for every kind-sub pair.

Definition at line 205 of file Block.cpp.

QString Block::GetNote ( ) const

Definition at line 234 of file Block.cpp.

sub_groups Block::GetSubGroup ( int  sub)
static

Definition at line 275 of file Block.cpp.

Inventory * Block::HasInventory ( )
virtual

Reimplemented in Bush, Box, Dwarf, Container, RainMachine, and Bucket.

Definition at line 224 of file Block.cpp.

bool Block::Inscribe ( QString  str)
virtual

Returns true on success.

Reimplemented in Telegraph, Text, Clock, Liquid, and Dwarf.

Definition at line 216 of file Block.cpp.

Animal * Block::IsAnimal ( )
virtual

Reimplemented in Animal.

Definition at line 225 of file Block.cpp.

int Block::Kind ( ) const
inline

Definition at line 145 of file Block.h.

int Block::LightRadius ( ) const
virtual

Reimplemented in Converter, Grass, Liquid, Dwarf, and Illuminator.

Definition at line 210 of file Block.cpp.

dirs Block::MakeDirFromDamage ( int  damage_kind)
static

Definition at line 83 of file Block.cpp.

void Block::Mend ( int  plus)

Increase durability, no more than MAX_DURABILITY.

Definition at line 238 of file Block.cpp.

void Block::Move ( dirs  direction)
virtual

Reimplemented in Falling, Active, and Dwarf.

Definition at line 207 of file Block.cpp.

bool Block::operator!= ( const Block block) const

Definition at line 297 of file Block.cpp.

Block& Block::operator= ( Block )
delete
bool Block::operator== ( const Block block) const

Definition at line 299 of file Block.cpp.

push_reaction Block::PushResult ( dirs  ) const
virtual

Reimplemented in Door, Falling, Liquid, Container, Ladder, Weapon, and Plate.

Definition at line 201 of file Block.cpp.

void Block::ReceiveSignal ( QString  )
virtual

Receive text signal.

Reimplemented in Telegraph, Bush, Box, Active, Dwarf, Container, RainMachine, and Bucket.

Definition at line 211 of file Block.cpp.

void Block::Restore ( )

Set maximum durability.

Definition at line 229 of file Block.cpp.

void Block::RestoreDurabilityAfterSave ( )

Importart! Use it if block won't be deleted after SaveToFile.

Definition at line 328 of file Block.cpp.

void Block::SaveAttributes ( QDataStream &  ) const
protectedvirtual

Reimplemented in Telegraph, Map, Clock, Door, Falling, Converter, Bush, Box, Dwarf, Container, Animal, Illuminator, Bucket, and RainMachine.

Definition at line 307 of file Block.cpp.

void Block::SaveNormalToFile ( QDataStream &  out) const

Definition at line 324 of file Block.cpp.

void Block::SaveToFile ( QDataStream &  out)

Important! If block will be used after save, call RestoreDurabilityAfterSave.

Definition at line 309 of file Block.cpp.

void Block::SetDir ( int  dir)

Definition at line 269 of file Block.cpp.

Falling * Block::ShouldFall ( )
virtual

Reimplemented in Falling.

Definition at line 227 of file Block.cpp.

int Block::Sub ( ) const
inline

Definition at line 144 of file Block.h.

QString Block::SubName ( int  sub)
static

Returns translated substance name.

Definition at line 69 of file Block.cpp.

QString Block::SubNameUpper ( int  sub)
static

Returns translated substance name with first upper letter.

Definition at line 77 of file Block.cpp.

int Block::Transparency ( int  transp,
int  sub 
) const
private

Definition at line 101 of file Block.cpp.

int Block::Transparent ( ) const
inline

Definition at line 143 of file Block.h.

usage_types Block::Use ( Block user)
virtual

Reimplemented in Informer, MedKit, Telegraph, Bell, Map, Text, Clock, Door, Bush, Box, Container, RainMachine, Illuminator, and Bucket.

Definition at line 213 of file Block.cpp.

usage_types Block::UseOnShredMove ( Block user)
virtual

Reimplemented in Map.

Definition at line 214 of file Block.cpp.

wearable Block::Wearable ( ) const
virtual

Reimplemented in Informer, MedKit, Telegraph, Bell, Map, Clock, Liquid, Boots, Weapon, Helmet, Illuminator, and Armour.

Definition at line 212 of file Block.cpp.

int Block::Weight ( ) const
virtual

Reimplemented in Clock, Bush, Container, Ladder, Dwarf, Weapon, Bucket, and Plate.

Definition at line 242 of file Block.cpp.

Member Data Documentation

quint8 Block::direction
private

Definition at line 178 of file Block.h.

qint16 Block::durability
private

Definition at line 174 of file Block.h.

const quint8 Block::kind
private

Definition at line 176 of file Block.h.

quint16 Block::noteId
protected

To convert DAMAGE_PUSH_UP...WEST to corresponding direction.

Definition at line 169 of file Block.h.

const quint8 Block::sub
private

Definition at line 177 of file Block.h.

const quint8 Block::transparent
private

Definition at line 175 of file Block.h.


The documentation for this class was generated from the following files: