www.pudn.com > Example2D.rar > CChrDiamond.cpp


/* 
* ============================================================================ 
*  Name     : CChrDiamond from CChrDiamond.h 
*  Part of  : 2DExample 
*  Created  : 01/01/2005 by Forum Nokia 
*  Version  : 1.0 
*  Copyright: Nokia Corporation 
* ============================================================================ 
*/ 
 
// INCLUDE FILES 
#include "CChrDiamond.h" 
#include "CSprite.h" 
#include "MSystem.h" 
#include "CTileMap.h" 
 
// const TInt KMaxSpeed = 4096; 
 
CChrDiamond* CChrDiamond::NewL( CSprite* aSprite, MSystem* aSystem, CTileMap* aMap ) 
	{ 
	CChrDiamond* self = new( ELeave )CChrDiamond( aSprite, aSystem, aMap ); 
	CleanupStack::PushL( self ); 
	self->ConstructL(); 
	CleanupStack::Pop( self ); 
	return self; 
	}; 
 
 
 
CChrDiamond::~CChrDiamond() 
	{ 
 
	} 
 
 
 
CChrDiamond::CChrDiamond( CSprite* aSprite, MSystem* aSystem, CTileMap* aMap ) 
	: iSprite( aSprite ) 
	, iSystem( aSystem ) 
	, iTileMap( aMap ) 
	{ 
 
	} 
 
 
 
void CChrDiamond::ConstructL() 
	{ 
 
	} 
 
 
 
void CChrDiamond::ActivateL() 
	{ 
	iSpeed = TPoint(100 << 16 ,0); 
	 
	iMonsterDir = 0; 
	iCollected = EFalse; 
	} 
 
 
 
void CChrDiamond::Deactivate() 
	{ 
 
	} 
 
 
 
void CChrDiamond::Draw( CBitmap& aTarget, const TPoint& aCamera ) 
	{ 
	if( iCollected ) 
		return; 
 
	iSprite->SetPosition( Position() ); 
	iSprite->Draw( aTarget, 0, aCamera ); 
	} 
 
 
 
void CChrDiamond::Move() 
	{ 
	if( iCollected ) 
		{ 
		return; 
		} 
 
	iSprite->SetPosition( TPoint( iPosition.iX >> 16, iPosition.iY >> 16 ) ); 
	} 
 
 
 
TPoint CChrDiamond::Position() 
	{ 
	return TPoint( iPosition.iX >> 16, iPosition.iY >> 16 ); 
	} 
 
 
 
void CChrDiamond::SetPosition( const TPoint& aPosition ) 
	{ 
	iPosition.iX = aPosition.iX << 16; 
	iPosition.iY = aPosition.iY << 16; 
 
	iSprite->SetPosition( aPosition ); 
	} 
 
void CChrDiamond::Die() 
	{ 
	iCollected = ETrue; 
	iChType = KCollected; 
	} 
 
void CChrDiamond::SetType( const TChType& aChType ) 
	{ 
	iChType = aChType; 
	} 
 
CSprite* CChrDiamond::Sprite() 
	{ 
	return iSprite; 
	}	 
 
TChType CChrDiamond::Type() 
	{ 
	return iChType; 
	} 
 
// End of file