bool ParallaxComponentLayer::Initialize()
{
	RETURN_FALSE_IF_FALSE(BaseCaseLayer::Initialize());

	mMainSprite = NodeFactory::Instance().CreateQuadSprite("test2.png");
	mMainSprite->DockToScreen(DockPoint::MiddleTop);
	mMainSprite->SetAnchorPoint(AnchorPoint::MiddleTop);
	AddChild(mMainSprite);

	mComponent = ComponentFactory::Instance().Create<ParallaxComponent>();
	mMainSprite->AddComponent(mComponent);

	
	FOR_EACH_SIZE(i, mChildCount)
	{
		Sprite* child = NodeFactory::Instance().CreateQuadSprite("test2.png");
		child->SetAnchorPoint(AnchorPoint::MiddleTop);
		child->SetPosition(mMainSprite->Position());
		child->MoveY(-child->Height()*(i+1));
		AddChild(child);
		Point3F ratio = Point3F::One;
		ratio.X = (float)(i + 1) / mChildCount;

		mComponent->EnableParallax(child, ratio, child->Position());
	}
	FOR_EACH_SIZE(i, mChildCount)
	{
		Sprite* child = NodeFactory::Instance().CreateSprite("test2.png");
		child->SetAnchorPoint(AnchorPoint::MiddleTop);
		child->SetPosition(mainSprite->Position());
		child->MoveY(-child->Height()*(i + 1));
		normalLayer->AddChild(child);
		Point3F ratio = Point3F::One;
		ratio.X = (float)(mChildCount-i) / mChildCount;

		mComponent->EnableParallax(child, ratio, child->Position());
	}