www.pudn.com > 2DGameAnimS60C_v1_0.zip > RenderableFactory.cpp


//////////////////////////////////////////////////////////////////////// 
// 
// RenderableFactory.cpp 
// 
// Copyright (c) 2003 Nokia Mobile Phones Ltd.  All rights reserved. 
// 
//////////////////////////////////////////////////////////////////////// 
 
#include  
#include "RenderableFactory.h" 
#include "ImageFactory.h" 
 
//////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////// 
 
CRenderableFactory::~CRenderableFactory() 
	{ 
	FreeRenderables(); 
	} 
 
//////////////////////////////////////////////////////////////////////// 
 
void CRenderableFactory::AllocRenderablesL(TInt aMaxRenderableCount) 
{ 
	iRenderableCount = 0; 
	iMaxRenderableCount = aMaxRenderableCount; 
	iRenderables = new CRenderable*[aMaxRenderableCount]; 
	User::LeaveIfNull(iRenderables); 
} 
 
//////////////////////////////////////////////////////////////////////// 
 
void CRenderableFactory::AddRenderable(CRenderable* aRenderable) 
{ 
	iRenderables[iRenderableCount] = aRenderable; 
	iRenderableCount++; 
} 
 
//////////////////////////////////////////////////////////////////////// 
 
void CRenderableFactory::FreeRenderables() 
{ 
	for ( TInt t = 0 ; t < iRenderableCount ; t++ ) 
	{ 
		delete iRenderables[t]; 
		iRenderables[t] = NULL; 
	} 
 
	iRenderableCount = 0; 
 
	delete[] iRenderables; 
	iRenderables = NULL; 
} 
 
//////////////////////////////////////////////////////////////////////// 
 
MRenderable* CRenderableFactory::Renderable(int idx) 
{ 
	return iRenderables[idx]; 
} 
 
//////////////////////////////////////////////////////////////////////// 
////////////////////////////////////////////////////////////////////////