1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
/****************************************************************
**
** Attal : Lords of Doom
**
** mapCreature.cpp
** Manages creatures on map
**
** Version : $Id: mapCreature.cpp,v 1.3 2003/08/25 07:44:23 audoux Exp $
**
** Author(s) : Pascal Audoux
**
** Date : 11/09/2002
**
** Licence :
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2, or (at your option)
** any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
****************************************************************/
#include "mapCreature.h"
// generic include files
// include files for QT
// application specific include files
#include "conf.h"
#include "libCommon/log.h"
#include "libClient/imageTheme.h"
#include "libClient/cell.h"
extern ImageTheme ImageTheme;
MapCreature::MapCreature( QCanvas * map )
:QCanvasSprite( (*(ImageTheme.mapCreatures[ 0 ][ 0 ]))[0], map )
{
collisions( true );
setFrame( 0 );
setZ( CAN_CREATURE );
show();
}
void MapCreature::setCell( GenericCell * cell )
{
GenericMapCreature::setCell( cell );
QRect rect = ( (Cell*)cell )->boundingRect();
move( rect.x() , rect.y() + rect.height() - boundingRect().height() );
show();
canvas()->update();
}
void MapCreature::setCreature( int race, int level )
{
GenericMapCreature::setCreature( race, level );
setSequence( (* ImageTheme.mapCreatures[ race ][ level ])[_lookingRight?1:0] );
}
void MapCreature::setLookingRight( bool state )
{
GenericMapCreature::setLookingRight( state );
setSequence( (* ImageTheme.mapCreatures[ _creature->getRace() ][ _creature->getLevel() ])[_lookingRight?1:0] );
}
|