renderablefactory.cpp

来自「symbian系统上的2D图形游戏」· C++ 代码 · 共 65 行

CPP
65
字号
////////////////////////////////////////////////////////////////////////
//
// RenderableFactory.cpp
//
// Copyright (c) 2003 Nokia Mobile Phones Ltd.  All rights reserved.
//
////////////////////////////////////////////////////////////////////////

#include <e32math.h>
#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];
}

////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?