private static void handle_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e) { _handleTransform.TranslateX += e.Delta.Translation.X; _handleTransform.TranslateY += e.Delta.Translation.Y; //RB position var oldPoint = SelectedSprite.RBPoint.TransformToVisual(SelectedSprite.centerPoint).TransformPoint(ZERO_POINT); var oldDistance = Math.Sqrt(oldPoint.X * oldPoint.X + oldPoint.Y * oldPoint.Y); var oldAngle = GetAngle(oldPoint.X, oldPoint.Y); //Handle position var newPoint = handlePoint.TransformToVisual(SelectedSprite.centerPoint).TransformPoint(ZERO_POINT); var newDistance = Math.Sqrt(newPoint.X * newPoint.X + newPoint.Y * newPoint.Y); var newAngle = GetAngle(newPoint.X, newPoint.Y); //update rotation var rotation_delta = newAngle - oldAngle; SelectedSprite.SetRotation(rotation_delta); //update scale var scale_delta = newDistance / oldDistance; SelectedSprite.SetScale(scale_delta); SelectedSprite.SyncButtonsPosition(); e.Handled = true; }
public void HideSelection() { if (SelectedSprite.Parent == null) { return; } SelectedSprite.AddActivity(new FadeActivity(FadeActivity.Fade.Out, TimeSpan.FromSeconds(0.33F), EaseMode.InOut, args => SelectedSprite.Detach())); }
public void Dispose() { IdleSprite?.Dispose(); IdleSelectedSprite?.Dispose(); ForwardWalkSprite?.Dispose(); ForwardWalkSpriteOverlay?.Dispose(); SelectedSprite?.Dispose(); SelectedSpriteOverlay?.Dispose(); BackWalkSprite?.Dispose(); BackWalkSpriteOverlay?.Dispose(); }
public void ShowSelection(Animal animal) { if (SelectedSprite.Parent != null) { SelectedSprite.Detach(); } SelectedSprite.SetTexture(Assets.GetTextureCollection("animals_white")[(int)animal.Species]); SelectedSprite.Scale = animal.Sprite.Scale; SelectedSprite.SetAlpha(1.0F); animal.Sprite.AddChild(SelectedSprite); }
private static void removeButton_Tapped(object sender, TappedRoutedEventArgs e) { SelectedSprite.RaiseSpriteChanged(); RemoveSelectedSprite(); }
static void handle_ManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e) { handleDrag = false; SelectedSprite.EnsureMinimumScale(); SelectedSprite.RaiseSpriteChanged(); }