public void Render(ILayer mainLayer)
        {
            mainLayer.Save();

            if (BackgroundAnimation != null)
            {
                BackgroundAnimation.Render(mainLayer);
            }
            else
            {
                switch (BgSlidingState)
                {
                case BgSlidingState.Left:
                    mainLayer.Translate(0, 0);
                    mainLayer.DrawImage(Assets.Images.Layouts.CloudlessMainBg, 0, 0);
                    break;

                case BgSlidingState.Right:
                    mainLayer.Translate(-384, 0);
                    mainLayer.DrawImage(Assets.Images.Layouts.CloudlessMainBg, 0, 0);
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }


            Cloud1Path.Animation.Render(mainLayer);
            Cloud2Path.Animation.Render(mainLayer);
            Cloud3Path.Animation.Render(mainLayer);

            mainLayer.Restore();
        }