void Draw()
{
	ClearScreen(consoleHandle);
	if (bonus == 3)
	{
		platform.push_back(GameObject((platform.end() - 1)->Coordinates.X + 1, WindowHeight - 1, platformSymbol));
		(platform.end() - 1)->Color = 0x4 | 0x2;
		bonus = 0;
	}
	for (randomAccess_iterator platformBody = platform.begin(); platformBody != platform.end(); ++platformBody)
	{
		platformBody->Color = 0x2 | 0x4;
	}
	for (const_iterator platformBody = platform.cbegin(); platformBody != platform.cend(); ++platformBody)
	{
		platformBody->Draw(consoleHandle);
	}

	for (const_iterator block = blocks.cbegin(); block != blocks.cend(); ++block)
	{
		block->Draw(consoleHandle);
	}

	ball.Color = 0x2;
	ball.Draw(consoleHandle);

	
}
void Draw()
{
	ClearScreen(consoleHandle);

	for (const_iterator platformBody = platform.cbegin(); platformBody != platform.cend(); ++platformBody)
	{
		platformBody->Draw(consoleHandle);
	}

	for (const_iterator block = blocks.cbegin(); block != blocks.cend(); ++block)
	{
		block->Draw(consoleHandle);
	}

	ball.Draw(consoleHandle);

}
void GameObjectManager::Draw()
{
	//eBlendMode srcMode = RenderManager::Instance()->GetSrcBlend();
	//eBlendMode destMode = RenderManager::Instance()->GetDestBlend();
	
        RenderManager::Instance()->PushDrawMatrix();
        RenderManager::Instance()->SetDrawTranslate(cameraPosition);
        RenderManager::Instance()->SetDrawScale(cameraScale);

    const List<GameObject*>::iterator currentObjEnd = objects.end();
	for(List<GameObject*>::iterator currentObj = objects.begin(); currentObj != currentObjEnd; ++currentObj)
	{
		GameObject *object = *currentObj;
		if(object->dead)
            continue;
        else
		    object->Draw();
	}
	
        RenderManager::Instance()->PopDrawMatrix();

	//RenderManager::Instance()->SetBlendMode(srcMode, destMode);
    RenderManager::Instance()->ResetColor();
}