Ejemplo n.º 1
0
		public async void SwitchCloth(ClothType type, int direction)
		{
			if(ClothView(type).Content != null)
			{
				Arrow (type, -1).Disable ();
				Arrow (type, 1).Disable ();

				ContentView disappearingCloth = new ContentView {
					VerticalOptions = ClothView(type).VerticalOptions
				};
				AbsoluteLayout.SetLayoutBounds (disappearingCloth, AbsoluteLayout.GetLayoutBounds (ClothView(type)));
				AbsoluteLayout.SetLayoutFlags (disappearingCloth, AbsoluteLayout.GetLayoutFlags (ClothView(type)));
				disappearingCloth.Content = new CWCloth {
					SvgPath = ((CWCloth)(ClothView(type).Content)).SvgPath,
					Color = ((CWCloth)(ClothView(type).Content)).Color,
					HeightRequest = ((CWCloth)(ClothView(type).Content)).HeightRequest
				};

				ClothSlider(type).Children.Add (disappearingCloth);

				await Task.Delay (10); // mad sheet

				int dx = App.ScreenWidth / 2 + (int)ClothView(type).Content.Width / 2;

				ClothView(type).TranslationX = - direction * dx;

				SwitchClothPath (type);


				ClothView(type).TranslateTo (0, 0, 700, Easing.CubicInOut);
				await disappearingCloth.TranslateTo (direction * dx, 0, 700, Easing.CubicInOut);


				ClothesCanvas.Children.Remove (disappearingCloth);

				Arrow (type, -1).Enable ();
				Arrow (type, 1).Enable ();
			}
			else
			{
				SwitchClothPath (type);
			}
		}