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(); }